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>



原创粉丝点击