sqlite 数据库

1. MainActivity.java

   

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.sh.appsqlitedatabase"
          xmlns:android="http://schemas.android.com/apk/res/android">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>
 
2.xml文件 
   
public class MainActivity extends AppCompatActivity {

    SQLiteDatabase db;
    Button bn;
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //创建或打开数据库(要用绝路径)
       db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString() + "my.db3",null);
        listView = (ListView)findViewById(R.id.show);
        bn = (Button)findViewById(R.id.bn);
        bn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                     //获取用户的输入
                String title = ((EditText)findViewById(R.id.title)).getText().toString();
                String content = ((EditText)findViewById(R.id.content)).getText().toString();

                try
                {
                   insertData(db,title,content);
                  Cursor cursor = db.rawQuery("select * from news_inf"
                                              ,null);
                    inflateList(cursor);
                }
                catch (Exception e)
                {
                    //执行ddl创建数据表
                    db.execSQL("create table news_inf(_id integer"
                             +" primary key autoincrement,"
                             +" news_title varchar(50),"
                             +" news_content varchar(255))" );
                    //执行insert语句
                    insertData(db,title,content);
                    //执行查询
                    Cursor cursor = db.rawQuery("select * from news_inf"
                            ,null);
                    inflateList(cursor);

//                    e.printStackTrace();
                }
            }
        });
    }

    public  void insertData(SQLiteDatabase db,String title,String content)
    {
         //执行插入语句
        db.execSQL("insert into news_inf values (null,?,?)"
                ,new String[]{title,content});
    }

     public void  inflateList(Cursor cursor)
     {
//         填充 SimpleCursorAdapter
         SimpleCursorAdapter adapter = new SimpleCursorAdapter(
                 MainActivity.this,
                 R.layout.line,cursor,
                       new String[]{"news_title","news_content"},
                         new int[]{R.id.my_title,R.id.my_content},
                 CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
//         显示数据
               listView.setAdapter(adapter);
     }

      public void onDestroy()
      {
          super.onDestroy();
          //退出程序时
      }

}
3.line.xml文件 
  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"

              >
   <TextView
           android:id="@+id/my_title"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/my_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值