数据库应用相互通信

来源:互联网 发布:淘宝无线端链接转换 编辑:程序博客网 时间:2024/06/07 14:40

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("");    }}



原创粉丝点击