ContentProvider内容提供者

来源:互联网 发布:殷保华一线法公式源码 编辑:程序博客网 时间:2024/06/08 03:11

首先我们自己创建一个数据来源

Android_SQLite工程

activity_main.xml 布局文件代码如下

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.example.android_sqlite.MainActivity">    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="Id:"        android:id="@+id/et_main_id" />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="Name:"        android:id="@+id/et_main_name" />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="Age:"        android:id="@+id/et_main_age" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content">        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="save"            android:text="保存"/>        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:onClick="query"            android:text="查询"/>    </LinearLayout>    <ListView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/list"></ListView></LinearLayout>

MainActivity.java 代码如下:
package com.example.android_sqlite;import android.app.ListActivity;import android.content.ContentValues;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.ListView;import android.widget.Toast;import com.example.db.DBHelper;public class MainActivity extends ListActivity {    private EditText et_main_id;    private EditText et_main_name;    private EditText et_main_age;    private SQLiteDatabase db;    private ListView listView;    private DBHelper dbHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //实例化db        dbHelper = new DBHelper(this,"person.db",null,2);        db = dbHelper.getReadableDatabase();        //获取listview        listView = getListView();        initViews();    }    public void initViews(){        et_main_id = (EditText) findViewById(R.id.et_main_id);        et_main_name = (EditText) findViewById(R.id.et_main_name);        et_main_age = (EditText) findViewById(R.id.et_main_age);    }    public void save(View view){        String name=et_main_name.getText().toString();        int age=Integer.parseInt(et_main_age.getText().toString());        //保存到数据库        ContentValues values=new ContentValues();//Map        values.put("name",name);        values.put("age",age);        values.putNull("_id");        db.insert("person","name",values);        Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();    }}
DBHelper.java 代码如下:
package com.example.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/** * Created by Administrator on 2017/2/7. */public class DBHelper extends SQLiteOpenHelper{    /**     *     * @param context     * @param name     * @param factory     * @param version     */    public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {        super(context, name, factory, version);        Log.i("test","构造方法");    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        Log.i("test","onCreate");        sqLiteDatabase.execSQL("create table person(_id integer primary key autoincrement,name,age)");    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {        Log.i("test","onUpgrade");    }}

我们可以从这里添加数据到数据库,以便其他程序访问。

0 0
原创粉丝点击