如何将android应用程序中的数据库文件发送到服务器

如何将android应用程序中的数据库文件发送到服务器,android,android-emulator,Android,Android Emulator,我在eclipse中使用sqlite开发了一个数据库应用程序…我需要将该代码发送到给定IP地址的服务器…可以帮助我将代码添加到当前代码中…给定以下代码 public class DatabaseHelper extends SQLiteOpenHelper{ public static final String DATA_BASE="Mydatabase.db"; public static final String TABLE_NAME="Student"; public static fin

我在eclipse中使用sqlite开发了一个数据库应用程序…我需要将该代码发送到给定IP地址的服务器…可以帮助我将代码添加到当前代码中…给定以下代码

public class DatabaseHelper extends SQLiteOpenHelper{
public static final String DATA_BASE="Mydatabase.db";
public static final String TABLE_NAME="Student";
public static final int DATABASE_VERSION=1;
public DatabaseHelper(Context context) {
    super(context, DATA_BASE, null, DATABASE_VERSION);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    db.execSQL("CREATE TABLE "+TABLE_NAME+"(NAME TEXT,AGE NUMERIC,ADDRESS TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}
}

上面是数据库帮助程序代码

以下是主要活动代码

public class DbExampleActivity extends Activity implements OnClickListener{
Button submit,select;
AlertDialog di;
private SQLiteDatabase sqLiteDatabase;
private SQLiteStatement sqLiteStatement;
private String name,age,address;
private static final String TABLE_NAME="Student";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    submit=(Button)findViewById(R.id.savebutton);
    select=(Button)findViewById(R.id.detailsbutton);

    DatabaseHelper db=new DatabaseHelper(this);
    sqLiteDatabase=db.getWritableDatabase();
    sqLiteStatement=sqLiteDatabase.compileStatement("insert into "+TABLE_NAME+"(name,age,address)values(?,?,?)");
   submit.setOnClickListener(this);
   select.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    switch (v.getId()) {
    case R.id.detailsbutton:
        Intent in=new Intent(getApplicationContext(),DisplayActivity.class);
        startActivity(in);

        break;
    case R.id.savebutton:
        name=((EditText)findViewById(R.id.editText1)).getText().toString().trim();
        age=((EditText)findViewById(R.id.editText2)).getText().toString().trim();
        address=((EditText)findViewById(R.id.editText3)).getText().toString().trim();

        sqLiteStatement.bindString(1, name);
        sqLiteStatement.bindString(2, age);
        sqLiteStatement.bindString(3, address);
        sqLiteStatement.executeInsert();

        Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_LONG).show();
        break;
    default:
        break;
    }

}
  public class DisplayActivity extends Activity {

private ArrayList<String> arraylist=new ArrayList<String>();
private SQLiteDatabase MYdatabase;
ListView listView;
Button back;
EditText ed;
String s;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.display);
    listView=(ListView)findViewById(R.id.listView1);
    ed=(EditText)findViewById(R.id.searcheditText1);


    ed=(EditText)findViewById(R.id.searcheditText1);

        ed.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                populateListView(s.toString());
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

            }
        });


}



protected void populateListView(String s) {
    DatabaseHelper db=new DatabaseHelper(this);
    MYdatabase=db.getWritableDatabase();
    try {   

        Cursor c=MYdatabase.rawQuery("SELECT* FROM Student WHERE NAME='"+s+"'", null);
        if(c!=null)
        {
            if(c.moveToFirst())
            {
                do {
                    String name=c.getString(c.getColumnIndex("NAME"));
                    String age=c.getString(c.getColumnIndex("AGE"));
                    String address=c.getString(c.getColumnIndex("ADDRESS"));
                    arraylist.add("Name :"+name+"\n"+"Age :"+age+"\n"+"Address :"+address+"\n");

                } while (c.moveToNext());
            }
        }

        c.close();
        c.deactivate();


} catch (SQLiteException e) {

    Log.d(getClass().getSimpleName(), "could not create"+"or open the database");

}
finally
{
    if(MYdatabase!=null)
    {
      MYdatabase.close();
    }
}

listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arraylist));

}



public void Back(View v)
{
    Intent back=new Intent(DisplayActivity.this,DbExampleActivity.class);
    startActivity(back);
}



 }
}

下面是显示活动代码

public class DbExampleActivity extends Activity implements OnClickListener{
Button submit,select;
AlertDialog di;
private SQLiteDatabase sqLiteDatabase;
private SQLiteStatement sqLiteStatement;
private String name,age,address;
private static final String TABLE_NAME="Student";
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    submit=(Button)findViewById(R.id.savebutton);
    select=(Button)findViewById(R.id.detailsbutton);

    DatabaseHelper db=new DatabaseHelper(this);
    sqLiteDatabase=db.getWritableDatabase();
    sqLiteStatement=sqLiteDatabase.compileStatement("insert into "+TABLE_NAME+"(name,age,address)values(?,?,?)");
   submit.setOnClickListener(this);
   select.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    switch (v.getId()) {
    case R.id.detailsbutton:
        Intent in=new Intent(getApplicationContext(),DisplayActivity.class);
        startActivity(in);

        break;
    case R.id.savebutton:
        name=((EditText)findViewById(R.id.editText1)).getText().toString().trim();
        age=((EditText)findViewById(R.id.editText2)).getText().toString().trim();
        address=((EditText)findViewById(R.id.editText3)).getText().toString().trim();

        sqLiteStatement.bindString(1, name);
        sqLiteStatement.bindString(2, age);
        sqLiteStatement.bindString(3, address);
        sqLiteStatement.executeInsert();

        Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_LONG).show();
        break;
    default:
        break;
    }

}
  public class DisplayActivity extends Activity {

private ArrayList<String> arraylist=new ArrayList<String>();
private SQLiteDatabase MYdatabase;
ListView listView;
Button back;
EditText ed;
String s;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.display);
    listView=(ListView)findViewById(R.id.listView1);
    ed=(EditText)findViewById(R.id.searcheditText1);


    ed=(EditText)findViewById(R.id.searcheditText1);

        ed.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
                populateListView(s.toString());
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

            }
        });


}



protected void populateListView(String s) {
    DatabaseHelper db=new DatabaseHelper(this);
    MYdatabase=db.getWritableDatabase();
    try {   

        Cursor c=MYdatabase.rawQuery("SELECT* FROM Student WHERE NAME='"+s+"'", null);
        if(c!=null)
        {
            if(c.moveToFirst())
            {
                do {
                    String name=c.getString(c.getColumnIndex("NAME"));
                    String age=c.getString(c.getColumnIndex("AGE"));
                    String address=c.getString(c.getColumnIndex("ADDRESS"));
                    arraylist.add("Name :"+name+"\n"+"Age :"+age+"\n"+"Address :"+address+"\n");

                } while (c.moveToNext());
            }
        }

        c.close();
        c.deactivate();


} catch (SQLiteException e) {

    Log.d(getClass().getSimpleName(), "could not create"+"or open the database");

}
finally
{
    if(MYdatabase!=null)
    {
      MYdatabase.close();
    }
}

listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,arraylist));

}



public void Back(View v)
{
    Intent back=new Intent(DisplayActivity.this,DbExampleActivity.class);
    startActivity(back);
}



 }

我假设您希望通过HTTP发送它。 你可以在Emmanuel的帖子中找到一个例子:


在我看来,这正是你所需要的。

也许只是我,但你的问题还不清楚。是否要发送数据库文件.db?还是要发送数据库的内容?如果要发送.db文件,您需要将数据库放在外部硬盘上,或者将手机置于根目录下。否则,我建议您查看Android RESTful服务。@:我想发送我的.db文件…我的文件在外部数据库中,即我在硬盘上复制了它…现在该怎么办?。如果我想将用户在我的应用程序中输入的数据发送到服务器上怎么办..使用tomcat Apache,我目前无法提供示例代码。然而,如果你在谷歌上搜索安卓post请求或安卓restful等,你会发现大量的例子。您想使用GET请求还是POST?