从网络请求Json数据放到数据库实现删除修改
2017-08-16 15:55
495 查看
//布局文件
//Activity核心代码
//修改页面布局文件
//核心代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main2" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.liu.administratorexample.my_demo.Main2Activity"> <TextView android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="学生信息" android:textSize="30sp"/> <android.support.v7.widget.RecyclerView android:id="@+id/m_recycler" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
//Activity核心代码
import java.io.IOException; import java.util.ArrayList; import java.util.List; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class Main2Activity extends AppCompatActivity { Message message; DataBeanDao userDao; RecyclerView re; MyAdapter myAdapter; List<DataBean> users; ArrayList<DataBean> arrayLisst=new ArrayList<>(); Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); users.clear(); users = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.between(1, 999)).limit(100) .build().list(); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(Main2Activity.this); re.setLayoutManager(linearLayoutManager); myAdapter= new MyAdapter(Main2Activity.this, users); re.setAdapter(myAdapter); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(Main2Activity.this, "ulll.db", null); DaoMaster daoMaster = new DaoMaster(devOpenHelper.getReadableDb()); DaoSession daoSession = daoMaster.newSession(); userDao = daoSession.getDataBeanDao(); re= (RecyclerView) findViewById(R.id.m_recycler); String url = "http://172.16.46.16:8080/YueKao/db.json"; OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); Call call = okHttpClient.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { final String aa = response.body().string(); Log.e("aa-----------",aa); Gson gson = new Gson(); Bean tiaoz = gson.fromJson(aa, Bean.class); arrayLisst.addAll(tiaoz.getData()); for(DataBean dataBean:arrayLisst){ DataBean dataBean1=new DataBean(null,dataBean.getId()+"",dataBean.getName()+"",dataBean.getAge()+"",dataBean.getGender()+""); Log.e("iiiiii++++=+=",dataBean.getId()+""); Log.e("xxxxxx----",dataBean1.getDid()+""); Log.e("xxxxxx----",dataBean1.getName()+""); Log.e("xxxxxx----",dataBean1.getAge()+""); Log.e("xxxxxx----",dataBean1.getGender()+""); userDao.insert(dataBean1); } users = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.between(1, 999)).limit(100) .build().list(); Log.e("bbbbb",users.toString()); runOnUiThread(new Runnable() { @Override public void run() { LinearLayoutManager linearLayoutManager = new LinearLayoutManager(Main2Activity.this); re.setLayoutManager(linearLayoutManager); myAdapter= new MyAdapter(Main2Activity.this, users); re.setAdapter(myAdapter); myAdapter.show(new MyAdapter.OnItemClickListener() { @Override public void onItemClick(View v, final int position) { new AlertDialog.Builder(Main2Activity.this) .setPositiveButton("修改", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent=new Intent(Main2Activity.this,Change.class); intent.putExtra("id",users.get(position).getId()); intent.putExtra("did",users.get(position).getDid()); intent.putExtra("name",users.get(position).getName()); intent.putExtra("age",users.get(position).getAge()); intent.putExtra("gen",users.get(position).getGender()); startActivityForResult(intent,001); } }) .setNegativeButton("删除", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { DataBean user = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.eq(users.get(position).getId())) .build().unique(); userDao.delete(user); users.remove(user); myAdapter.notifyDataSetChanged(); } }) .show(); } }); } }); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); message= new Message(); message.what = 1; handler.sendMessage(message); if(requestCode==001&resultCode==002){ String did=data.getStringExtra("did"); String name=data.getStringExtra("name"); String age=data.getStringExtra("age"); String gen=data.getStringExtra("gen"); Long id=data.getLongExtra("id",0); Log.e("aaa+====",id+""); DataBean user = userDao.queryBuilder() .where(DataBeanDao.Properties.Id.eq(id)) .build().unique(); user.setAge(age); user.setDid(did); user.setName(name); user.setGender(gen); userDao.update(user); } } }
//修改页面布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_change" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.liu.administratorexample.my_demo.Change"> <EditText android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginLeft="61dp" android:layout_marginStart="61dp" android:layout_marginTop="50dp" android:text="TextView" /> <EditText android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView" android:layout_alignStart="@+id/textView" android:layout_below="@+id/textView" android:layout_marginTop="59dp" android:text="TextView" /> <EditText android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/textView2" android:layout_alignRight="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="72dp" android:text="TextView" /> <EditText android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/textView3" android:layout_alignRight="@+id/textView3" android:layout_below="@+id/textView3" android:layout_marginTop="63dp" android:text="TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="53dp" android:text="修改" /> </RelativeLayout>
//核心代码
import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; public class Change extends AppCompatActivity { EditText did,name,age,gendle; Button button; Long id; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_change); did=(EditText) findViewById(R.id.textView); name=(EditText) findViewById(R.id.textView2); age=(EditText) findViewById(R.id.textView3); gendle=(EditText) findViewById(R.id.textView4); Intent intent=getIntent(); did.setText(intent.getStringExtra("did")); name.setText(intent.getStringExtra("name")); age.setText(intent.getStringExtra("age")); gendle.setText(intent.getStringExtra("gen")); id=intent.getLongExtra("id",0); button=(Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(); intent.putExtra("id",id); intent.putExtra("did",did.getText().toString()); intent.putExtra("name",name.getText().toString()); intent.putExtra("age",age.getText().toString()); intent.putExtra("gen",gendle.getText().toString()); setResult(002,intent); finish(); } }); } }
相关文章推荐
- GreenDao + 请求网络数据添加到数据库 + 新增+删除 +查询
- Android--使用原生技术实现ListView(原生技术实现网络异步请求,解析json数据)
- 搞了一天,用SharedPreference 实现网络请求的JSON数据的本地存储
- C#实现对数据库中的表的查询、添加、修改、删除数据
- MVP实现用Retrofit请求网络数据Fresco加载图片,Recyclerview CheckBox显示并实现全选删除
- php实现post请求 接收android客户端json数据 存储数据库 并返回json
- 数据库存储、网络访问都必须放到异步请求中实现。
- angular 请求网络数据 展示table 查询关键字 过滤 删除 添加 修改
- Visual C# 2008+SQL Server 2005 数据库与网络开发--4.3.3 修改数据
- 修改MyBatis 源代码,实现数据库分页及Object[]数据结果
- 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 使用xom实现xml文件数据的查找,删除,修改(完整beta版,daya原创)
- 项目经验之:利用Jquery+HTML静态模版实现数据的展示及无刷新增加,修改,删除,分页操作!!!
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- 稳扎稳打Silverlight(58) - 4.0通信之WCF RIA Services: 通过 Domain Service, 以 MVVM 模式实现数据的添加、删除、修改和查询
- 数据库修改,删除数据 总结
- PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序