我是 android Development 的新手。我必须将我们的本地数据库与 SQL Server 同步。
同步可以由 SQLite 完成,还是我们需要使用任何其他的,如 CouchDB。
如果我使用的是沙发数据库,那么沙发数据库与 SQLServer 同步。
请提供任何SYNC教程。
提前致谢。
我是 android Development 的新手。我必须将我们的本地数据库与 SQL Server 同步。
同步可以由 SQLite 完成,还是我们需要使用任何其他的,如 CouchDB。
如果我使用的是沙发数据库,那么沙发数据库与 SQLServer 同步。
请提供任何SYNC教程。
提前致谢。
在这里,我使用 php 在 Android 应用程序中使用 MySql 提供(前)微调器的本地数据库连接。
我希望它对你有帮助。
请参阅此代码...
MainActivity.java
public class MainActivity extends Activity {
InputStream is=null;
String result=null;
String line=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/spinner.php");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
Log.e("Pass 1", "connection success ");
}
catch(Exception e)
{
Log.e("Fail 1", e.toString());
Toast.makeText(getApplicationContext(), "Invalid IP Address",Toast.LENGTH_LONG).show();
}
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("Pass 2", "connection success ");
}
catch(Exception e)
{
Log.e("Fail 2", e.toString());
}
try
{
JSONArray JA=new JSONArray(result);
JSONObject json= null;
final String[] str1 = new String[JA.length()];
final String[] str2 = new String[JA.length()];
for(int i=0;i<JA.length();i++)
{
json=JA.getJSONObject(i);
str1[i] = json.getString("roll_no");
str2[i]=json.getString("name");
}
final Spinner sp = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
for(int i=0;i<str2.length;i++)
{
list.add(str2[i]);
}
Collections.sort(list);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(dataAdapter);
sp.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id)
{
// TODO Auto-generated method stub
String item=sp.getSelectedItem().toString();
Toast.makeText(getApplicationContext(), item,Toast.LENGTH_LONG).show();
Log.e("Item",item);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
}
catch(Exception e)
{
Log.e("Fail 3", e.toString());
}
}
微调器.php
<?php
$host='127.0.0.1';
$uname='root';
$pwd='password';
$db='android';
$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
mysql_select_db($db,$con) or die("db selection failed");
$r=mysql_query("select * from class",$con);
while($row=mysql_fetch_array($r))
{
$cls[]=$row;
}
print(json_encode($cls));
mysql_close($con);
?>
将以下代码添加到 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
查看fyreCloud Solutions提供的解决方案。这是一个演示 Android 应用程序的源代码,该应用程序在 Android 设备上的 MySQL 服务器和 SQLite db 之间实现 MySQL 复制。