xUtils的4个用法
来源:互联网 发布:华康字体淘宝可以用吗 编辑:程序博客网 时间:2024/06/06 00:28
1.导包
2.自己写一个类继承application
public class xUilts extends Application { @Override public void onCreate() { super.onCreate(); //注册 x.Ext.init(this); }}
3.在androidmanifest使用
4.注册
//这是只要使用了@ViewInject这个就要写 x.view().inject(this);
5.这是get请求主要代码
public class BlankFragment extends Fragment { private String str="http://baobab.kaiyanapp.com/api/v4/tabs/selected"; private TextView tv1; public BlankFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.fragment_blank, container, false); tv1= inflate.findViewById(R.id.tv1); RequestParams re=new RequestParams(str); x.http().get(re, new Callback.CommonCallback<String>() { @Override public void onSuccess(String s) { tv1.setText(s); } @Override public void onError(Throwable throwable, boolean b) { tv1.setText("错了"); } @Override public void onCancelled(CancelledException e) { tv1.setText("取消"); } @Override public void onFinished() { } }); return inflate; }}
6.get请求的布局
<FrameLayout 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"tools:context="comqq.example.hasee.myapplication.BlankFragment"><LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv1" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout></FrameLayout>
7.post的主要代码
public class BlankFragment2 extends Fragment { private TextView tv2; private String st="http://baobab.kaiyanapp.com/api/v4/tabs/selected"; // ?udid=11111&vc=168&vn=3.3.1&deviceModel=Huawei%36&first_channel=eyepetizer_baidu_market&last_channel=eyepetizer_baidu_market&system_version_code=20"; public BlankFragment2() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.fragment_blank_fragment2, container, false); tv2=inflate.findViewById(R.id.tv2); RequestParams re=new RequestParams(st); re.addBodyParameter("udid","11111"); re.addBodyParameter("vc","168"); re.addBodyParameter("vn","3.3.1"); re.addBodyParameter("deviceModel","Huawei%36"); re.addBodyParameter("first_channel","eyepetizer_baidu_market"); re.addBodyParameter("last_channel","eyepetizer_baidu_market"); re.addBodyParameter("system_version_code","20"); re.setMultipart(true); x.http().post(re, new Callback.CommonCallback<String>() { @Override public void onSuccess(String s) { tv2.setText(s); } @Override public void onError(Throwable throwable, boolean b) { tv2.setText("错了啊"); } @Override public void onCancelled(CancelledException e) { tv2.setText("取消了啊"); } @Override public void onFinished() { } }); return inflate; }}
8.post请求的布局
<FrameLayout 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" tools:context="comqq.example.hasee.myapplication.BlankFragment2"> <!-- TODO: Update blank fragment layout --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout></FrameLayout>
9.图片的主要代码
public class BlankFragment3 extends Fragment { String url = "http://www.qubaobei.com/ios/cf/uploadfile/132/9/8289.jpg"; private ImageView iv; public BlankFragment3() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View inflate = inflater.inflate(R.layout.fragment_blank_fragment3, container, false); iv=inflate.findViewById(R.id.iv1); ImageOptions im=new ImageOptions.Builder() .setIgnoreGif(false) .setFailureDrawableId(R.mipmap.ic_launcher) .build(); //如果想要网络获取的话直接"assets://aacat.gif"把这个给换成地址就行了 x.image().bind(iv,"assets://aacat.gif",im); return inflate; }}
10.创建aacat的资源
11.图片布局
<FrameLayout 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" tools:context="comqq.example.hasee.myapplication.BlankFragment3"> <!-- TODO: Update blank fragment layout --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/iv1" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout></FrameLayout>
11.创建动态图所需要的图片资源
12.这是aaa.xml里面的代码
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mipmap/aa1" android:duration="100"/> <item android:drawable="@mipmap/aa2" android:duration="100"/> <item android:drawable="@mipmap/aa3" android:duration="100"/> <item android:drawable="@mipmap/aa4" android:duration="100"/> <item android:drawable="@mipmap/aa5" android:duration="100"/> <item android:drawable="@mipmap/aa6" android:duration="100"/> <item android:drawable="@mipmap/aa7" android:duration="100"/> <item android:drawable="@mipmap/aa8" android:duration="100"/> <item android:drawable="@mipmap/aa9" android:duration="100"/> </animation-list>
13.动态图布局代码
<FrameLayout 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" tools:context="comqq.example.hasee.myapplication.BlankFragment4"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/iv111" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout></FrameLayout>
14.数据库主要代码
public class DatabaseActivity extends AppCompatActivity { @ViewInject(value = R.id.database_lv) private ListView lv; private DbManager manager ; //数据库管理者:用于管理xutils创建好的数据库的 private DbManager.DaoConfig config; //数据库设置类信息 private List<PersonTable> list; private DBAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_database); x.view().inject(this); config = DBUtils.getConfig(this);// 实例化数据库管理对象 manager = x.getDb(config); list = new ArrayList<>(); List<PersonTable> queryAll = queryAll(); if (queryAll!=null){ list.addAll(queryAll); } adapter = new DBAdapter(this,list); lv.setAdapter(adapter); } /** * 查询数据库person表当中所有的内容: * findAll: * */ private List<PersonTable> queryAll(){ try { List<PersonTable> personTables = manager.findAll(PersonTable.class); return personTables; } catch (DbException e) { e.printStackTrace(); } return null; } /** * 向表中插入数据的方法 * save * */ private void insertData(PersonTable person){ try { manager.save(person); } catch (DbException e) { e.printStackTrace(); } } /** * 修改表中的指定数据 * update * */ private void updateEntity(int id){// 获取id表示的对象 try { PersonTable person = manager.findById(PersonTable.class, id); person.setSex("女"); person.setAge(16); manager.update(person,"sex","age"); } catch (DbException e) { e.printStackTrace(); } } /** * 把年龄为15岁的人的名字改为貔貅. * * */ public void updateData(){ KeyValue keyvalue = new KeyValue("name","貔貅"); try { manager.update(PersonTable.class, WhereBuilder.b("age","=",15),keyvalue); } catch (DbException e) { e.printStackTrace(); } } @Event(value = {R.id.id_btn_insert,R.id.id_btn_delete,R.id.id_btn_update}) private void operateDatabase(View view){ switch (view.getId()) { case R.id.id_btn_insert: insertData(new PersonTable(1,"xiaoming",14,"男",1000)); insertData(new PersonTable("xiaohong",13,"男",5000)); insertData(new PersonTable("小刚",19,"男",4000)); insertData(new PersonTable("小丽",29,"男",9000)); insertData(new PersonTable("麒麟",15,"男",10000)); insertData(new PersonTable("andy",18,"男",3000)); insertData(new PersonTable("jack",22,"男",2000)); list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); break; case R.id.id_btn_update:// updateEntity(2); updateData(); list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); break; case R.id.id_btn_delete: try { // 删除指定id对应行的数据 manager.deleteById(PersonTable.class,7);// 删除表中的指定对象 PersonTable firstPerson = manager.selector(PersonTable.class).where("sex", "=", "男").where("age", "=", 19).findFirst(); manager.delete(firstPerson); manager.delete(PersonTable.class,WhereBuilder.b("age","=","18").and("name","like","an_")); list.clear(); list.addAll(queryAll()); adapter.notifyDataSetChanged(); } catch (DbException e) { e.printStackTrace(); } break; } }}
15.
public class DBUtils { static DbManager.DaoConfig config; public static DbManager.DaoConfig getConfig(Context context){ config = new DbManager.DaoConfig(); config.setDbName("user.db"); //设置数据库的名称// /sdcard/Android/data/com.animee.day01/cache/ config.setDbDir(context.getExternalCacheDir()); config.setAllowTransaction(true); config.setDbOpenListener(new DbManager.DbOpenListener() { @Override public void onDbOpened(DbManager dbManager) { Log.i("tag","啊,数据库被打开了!!"); } }); config.setDbUpgradeListener(new DbManager.DbUpgradeListener() { @Override public void onUpgrade(DbManager dbManager, int i, int i1) { Log.i("tag","呀,数据库更新了!!"); } }); config.setDbVersion(1); return config; }}
16.数据库的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.animee.day01.DatabaseActivity"> <LinearLayout android:id="@+id/database_llayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/id_btn_insert" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="插入数据"/> <Button android:id="@+id/id_btn_update" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="修改数据"/> <Button android:id="@+id/id_btn_delete" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="删除数据"/> </LinearLayout> <ListView android:id="@+id/database_lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/database_llayout"></ListView></RelativeLayout>
阅读全文
0 0
- xUtils的4个用法
- xUtils的用法
- xUtils的基本用法
- 关于xUtils用法的总结
- xUtils DButils的详细用法
- xUtils之HttpUtils的用法
- Xutils用法
- xutils中configCurrentHttpCacheExpiry()的用法
- Xutils 3.0 的用法,断点续传下载
- xUtils ViewUtils 用法
- Xutils框架用法
- xUtils中DbUtils用法
- Xutils用法:图片下载
- Xutils用法:字符串下载
- Xutils 3.0 基础用法
- XUtils中的dbUtils用法
- Android下XUtils用法
- Android高级之xUtils框架(四):DBUtils的用法
- 坚持#第230天~零基础自学云计算基础语言应用之python第6节
- HDU5236 Article(期望dp)
- XJOI泡泡糖
- (二十八)RecyclerView ItemTouchHelper 源码分析以及拓展
- [BZOJ4870][SHOI2017]组合数问题 DP+矩阵快速幂
- xUtils的4个用法
- 【模板】线段树区间修改、区间求和、查询最值
- Balanced Binary Tree:判断一棵树是否为平衡二叉树
- 归并排序
- Python菜鸟教程(一)-爬b站数据
- 实战命令
- [BZOJ4488][JSOI2015]最大公约数 DP+STL
- STL搜索算法小结
- 洛谷 2695 骑士的工作 排序+贪心 解题报告