当前位置: 首页 > news >正文

哪些网站可以做网站c 网站开发实例

哪些网站可以做网站,c 网站开发实例,毕设电商网站设计,wordpress 黑体今天学习的时候学到了ContentProvider数据共享这个东东#xff0c;所以自己写了个小例子: 我们要开发ContentProvider的话#xff0c;需要创建一个类去继承ContentProvider,里面会让你重写四个方法#xff0c;这四个方法就是数据共享用到的方法 包括SQLite的插入、查询、删除… 今天学习的时候学到了ContentProvider数据共享这个东东所以自己写了个小例子: 我们要开发ContentProvider的话需要创建一个类去继承ContentProvider,里面会让你重写四个方法这四个方法就是数据共享用到的方法 包括SQLite的插入、查询、删除。。 所以如何共享我们的数据就看你如何重写这几个方法。 下面是操作步骤我是用Android studio写的 1、先看工程结构 2、我们建立一个继承ContentProvider的类创建步骤右键→new→othet→Provider 3、ContentProvider共享的数据是SQLite里面的数据为了方便我把创建SQLite的数据库和创建表的操作也写在了ContentProvider的onCreate()方法里面了   代码 package provider;import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri;import toolclass.MySQLiteOpenHelper;public class MyContentProvider extends ContentProvider {private static final String AUTHORITY com.example.fanlei.mycontentprovider;//地址private static final String DB_FILE friends.db;//数据库名称private static final String DB_TABLE friends; //表名private static final int URI_ROOT -1;private static final int DB_TABLE_FRIENDS 1;public static final Uri CONTENT_URI Uri.parse(content:// AUTHORITY / DB_TABLE);//Uri所对应的资源private static final UriMatcher uriMatcher new UriMatcher(URI_ROOT);//检查传过来的Uristatic {uriMatcher.addURI(AUTHORITY,DB_TABLE,DB_TABLE_FRIENDS);}private MySQLiteOpenHelper helper;private SQLiteDatabase db;public MyContentProvider() {}Overridepublic int delete(Uri uri, String selection, String[] selectionArgs) {// Implement this to handle requests to delete one or more rows.throw new UnsupportedOperationException(Not yet implemented);}Overridepublic String getType(Uri uri) {// TODO: Implement this to handle requests for the MIME type of the data// at the given URI.throw new UnsupportedOperationException(Not yet implemented);}Overridepublic Uri insert(Uri uri, ContentValues values) {//检查传过来的Uri是否是正确的若不正确则抛出异常if (uriMatcher.match(uri) ! DB_TABLE_FRIENDS){throw new IllegalArgumentException(Unknown URI: uri);}Long rawId db.insert(DB_TABLE,null,values);Uri returnUri ContentUris.withAppendedId(CONTENT_URI,rawId);getContext().getContentResolver().notifyChange(returnUri,null);return returnUri;}Overridepublic boolean onCreate() {helper new MySQLiteOpenHelper(getContext(),DB_FILE,null,1);db helper.getWritableDatabase();String sql CREATE TABLE IF NOT EXISTS DB_TABLE ( _id primary key, name text, sexId text, address text);;db.execSQL(sql);return true;}Overridepublic Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder) {//检查传过来的Uri是否是正确的若不正确则抛出异常if (uriMatcher.match(uri) ! DB_TABLE_FRIENDS){throw new IllegalArgumentException(Unknown URI: uri);}Cursor cursor db.query(true,DB_TABLE,projection,selection,selectionArgs,null,null,sortOrder,null);cursor.setNotificationUri(getContext().getContentResolver(),uri);return cursor;}Overridepublic int update(Uri uri, ContentValues values, String selection,String[] selectionArgs) {// TODO: Implement this to handle requests to update one or more rows.throw new UnsupportedOperationException(Not yet implemented);} } 其实ContentProvider里面重写的方法也是封装了SQLiteDataBase的方法的操作只不过他需要一个具体的Uri去指向我们具体的资源。 ContentProvider开发完成后我在主函数里面调用了我们写的这个ContentProvider里面的方法布局什么的都很简单。 我只是插入了数据查询数据 下面是主函数: package com.example.fanlei.mycontentproviderdemo;import android.annotation.TargetApi; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import provider.MyContentProvider;public class MainActivity2 extends ActionBarActivity {private ContentResolver contentResolver;private Uri uri;private EditText et_1,et_2,et_3;private Button btn_1,btn_2;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main_activity2);contentResolver getContentResolver();uri MyContentProvider.CONTENT_URI;et_1 (EditText) findViewById(R.id.et_1);et_2 (EditText) findViewById(R.id.et_2);et_3 (EditText) findViewById(R.id.et_3);btn_1 (Button) findViewById(R.id.btn_1);btn_2 (Button) findViewById(R.id.btn_2);//加入btn_1.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {ContentValues cv new ContentValues();//键值 就是 列名cv.put(name,et_1.getText().toString());cv.put(sexId,et_2.getText().toString());cv.put(address,et_3.getText().toString());contentResolver.insert(uri,cv);Toast.makeText(MainActivity2.this,加入成功,Toast.LENGTH_SHORT).show();}});//查询btn_2.setOnClickListener(new View.OnClickListener() {TargetApi(Build.VERSION_CODES.JELLY_BEAN)Overridepublic void onClick(View v) {Cursor cursor contentResolver.query(uri,null,name like ?,new String[]{%23%},null,null);while (cursor.moveToNext()){String name cursor.getString(cursor.getColumnIndex(name));String sexId cursor.getString(cursor.getColumnIndex(sexId));String address cursor.getString(cursor.getColumnIndex(address));Log.d(asdasd,name^^sexId^^address);}}});} } 以上是简单的开发 下面是使用我们上面的工程创建的ContentProvider 先看工程结构 我这里建立了一个工具类去存放上一个工程Uri。 布局什么的都很简单就一个TextView和Button就不放了。 下面是主函数的代码 package com.example.fanlei.textmycontentproviderdemo;import android.content.ContentResolver; import android.database.ContentObserver; import android.database.Cursor; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.ActionBarActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView;import provider.PeopleInfoProvider;public class MainActivity extends ActionBarActivity {private TextView tv_show;private Button button;private ContentResolver contentResolver;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);contentResolver getContentResolver();tv_show (TextView) findViewById(R.id.tv_show);button (Button) findViewById(R.id.btn);button.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {Cursor cursor contentResolver.query(PeopleInfoProvider.CONTENT_URI,null,null,null,null);StringBuilder sb new StringBuilder();while (cursor.moveToNext()){String name cursor.getString(cursor.getColumnIndex(name));String sexId cursor.getString(cursor.getColumnIndex(sexId));String address cursor.getString(cursor.getColumnIndex(address));sb.append(name).append(sexId).append(address);}tv_show.setText(sb.toString());}});contentResolver.registerContentObserver(PeopleInfoProvider.CONTENT_URI,true,new MyObserver(new Handler()));}private class MyObserver extends ContentObserver{/*** Creates a content observer.* param handler The handler to run {link #onChange} on, or null if none.*/public MyObserver(Handler handler) {super(handler);}Overridepublic void onChange(boolean selfChange) {super.onChange(selfChange);Cursor cursor contentResolver.query(PeopleInfoProvider.CONTENT_URI,null,null,null,null);StringBuilder sb new StringBuilder();while (cursor.moveToNext()){String name cursor.getString(cursor.getColumnIndex(name));String sexId cursor.getString(cursor.getColumnIndex(sexId));String address cursor.getString(cursor.getColumnIndex(address));sb.append(name).append(sexId).append(address);Log.d(-----update----,sb.toString());}tv_show.setText(sb.toString());}} } 对了这里我写了一个内部类去继承了ContentObserver这个类它的作用就是当共享的数据发生改变时就会触发这个方法。 转载于:https://www.cnblogs.com/819158327fan/p/4939123.html
http://wiki.neutronadmin.com/news/199056/

相关文章:

  • 主题网站的设计方案网站管理页面
  • 建设公司网站费用怎么做账网站后台乱码怎么办
  • 网站建设零金手指花总厦门网站建设a
  • 网站图片大小多少合适动漫风格网站
  • 化学试剂网站建设电脑页面设计怎么弄
  • 网站ww正能量现在的报税网站怎么做更正申报
  • 自己建设网站的费用知更鸟wordpress
  • 浅谈网站规划建设与管理维护网站先做前端还是后端
  • 新手制作网站塘厦镇属于东莞哪个区
  • 太原企业网站模板建站企业网站系统设计论文
  • 广州知名网站设计有口碑的广告灯箱设计制作
  • 网站建设设计原则做网站后台怎么搭建
  • 长页网站网站中的二维码设计
  • 网站那种推广链接怎么做金环建设集团网站
  • iis部署网站无法访问合肥网站建设方案策划
  • 建个网站有什么用如何在网上建设一个公司网站
  • 做网站业务员怎么样怎么免费制作一个网站
  • 做房产中介需要有内部网站吗软件最全的软件商店
  • 阳江市住房和城乡规划建设局网站网页设计制作说明
  • 网路营销网站策划书营销网站建设的重要性
  • 房子做水电的时候是不是要先埋网站北京常见网站建设推荐
  • 苏州实力做网站公司蒙狼科技建设网站好不好
  • 贵阳网站设计多少钱wordpress和站点
  • 手机网站设计公司哪家好微信小程序建站
  • 网站注册转化率甘肃网站建设专家
  • 关键词诊断优化全部关键词上海做网站就用乐云seo
  • 怎么找网站啊建湖人才网最新招聘
  • 前端后端都是网站开发吧网站怎么制作教程
  • 自助建站网站程序源码做网站的流程图
  • 《学做网站论坛》视频下载ui网页设计成都培训