1......
1.数据库创建
public class MySQLiteOpenHelp extends SQLiteOpenHelper{
public MySQLiteOpenHelp(Context context) {
super(context, "table", null, 1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table data(_id integer primary key autoincrement,title text,subtitle text)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
2.数据库管理
public class MySQLiteDataBase {
private MySQLiteOpenHelp mySQLiteOpenHelp;
private static MySQLiteDataBase db;
private MySQLiteDataBase(Context context) {
mySQLiteOpenHelp=new MySQLiteOpenHelp(context);
}
public static MySQLiteDataBase GetDataBase(Context context){
db = new MySQLiteDataBase(context);
return db;
}
public void insert(String title,String subtitle){
SQLiteDatabase sd=mySQLiteOpenHelp.getReadableDatabase();
ContentValues values=new ContentValues();
values.put("title",title);
values.put("subtitle",subtitle);
sd.insert("data",null,values);
sd.close();
}
public String select(String title){
SQLiteDatabase sd=mySQLiteOpenHelp.getReadableDatabase();
Cursor data = sd.query("data", new String[]{"title", "subtitle"}, "title='" + title + "'", null, null, null, null);
int subtitle = data.getColumnIndex("subtitle");
String string = data.getString(subtitle);
sd.close();
return string;
}
public ArrayList<Map<String,String>> selectAll(){
ArrayList<Map<String, String>> maps = new ArrayList<>();
SQLiteDatabase sd=mySQLiteOpenHelp.getReadableDatabase();
Cursor data = sd.query("data", new String[]{"title", "subtitle"}, null, null, null, null, null);
int titleindex = data.getColumnIndex("title");
int subtitleindex = data.getColumnIndex("subtitle");
while(data.moveToNext()){
Map<String,String> map=new HashMap<>();
String string = data.getString(titleindex);
String string1 = data.getString(subtitleindex);
map.put("title",string);
map.put("subtitle",string1);
maps.add(map);
}
return maps;
}
}
3.服务器主代码
public class MyService extends Service {
public MyService() {
}
MyDataAIDL.Stub myDataAIDL=new MyDataAIDL.Stub() {
@Override
public String GetString() throws RemoteException {
MySQLiteDataBase db = MySQLiteDataBase.GetDataBase(MyService.this);
ArrayList<Map<String, String>> maps = db.selectAll();
return maps.get(0).get("subtitle");
}
};
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
return myDataAIDL;
}
}
4.客户端主代码
public class MainActivity extends AppCompatActivity {
private EditText et_title;
private EditText et_subtitle;
private ListView list;
private ArrayList<Map<String,String>> maps;
private MyAdapter adapter;
private MySQLiteDataBase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
db = MySQLiteDataBase.GetDataBase(this);
et_title = (EditText) findViewById(R.id.et_title);
et_subtitle = (EditText) findViewById(R.id.et_subtitle);
list = (ListView) findViewById(R.id.list);
maps=new ArrayList<>();
adapter=new MyAdapter(this,maps);
list.setAdapter(adapter);
Load();
}
public void Load(){
maps.clear();
ArrayList<Map<String, String>> arrayList = db.selectAll();
maps.addAll(arrayList);
adapter.notifyDataSetChanged();
}
public void onClick(View view) {
String title = et_title.getText().toString();
String subtitle = et_subtitle.getText().toString();
db.insert(title,subtitle);
Load();
et_title.setText("");
et_subtitle.setText("");
}
}