数据库应用相互通信
来源:互联网 发布:淘宝无线端链接转换 编辑:程序博客网 时间: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(""); }}
阅读全文
0 0
- 数据库应用相互通信
- 不同Vlan相互通信
- android + javascript 相互通信
- 不同层相互通信
- AS与JS相互通信
- Flex与js相互通信
- VLAN间的相互通信
- as3 与js相互通信
- 线程同步与相互通信
- 两个3G模块相互通信
- Activity和Service相互通信
- 相互通信的网络编程
- Unity和Android相互通信
- java中Socket相互通信
- 线程间的相互通信
- UDP服务器客户端相互通信
- angularjs controler之间相互通信
- 网络设备之间的相互通信
- 机器学习十大算法之KNN算法
- 百度地图api绘制热力图
- 数据挖掘学习之决策树算法PART2
- SimpleDateFormat非线程安全
- DMA
- 数据库应用相互通信
- 红黑树
- Java注解梳理
- java 连接MySQL数据库提取信息示例
- NO.17类的重写、私有变量
- 综合练习——哈希桶的实现以及迭代器
- Java常见面试50题(java jsp)
- 练习四
- 写时拷贝与引用计数