准备工作
implementation 'org.xutils:xutils:3.5.0'
2.加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3.新建类
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
x.Ext.init(this);
x.Ext.setDebug(true);
}
}
4.配置清单文件
<application name = ".第三步的类名"></application>
5.写java代码
一、XUtils四大模块
1.DBUtils:数据库相关
代码实例
package day01.bw.com.myapplicationfour;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import org.xutils.DbManager;
import org.xutils.ex.DbException;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.x;
@ContentView(R.layout.activity_db)
public class DBActivity extends AppCompatActivity {
private DbManager.DaoConfig daoConfig;
private DbManager db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_db);
x.view().inject(this);
initDB();
}
private void initDB() {
daoConfig = new DbManager.DaoConfig();
daoConfig.setDbName("userDB");
daoConfig.setDbVersion(1);
db = x.getDb(daoConfig);
}
@Event(value = {R.id.insert_B,R.id.del_B,R.id.update_B,R.id.rea_B},type = View.OnClickListener.class)
private void click(View view){
switch (view.getId()){
case R.id.insert_B:
insertData();
break;
case R.id.rea_B:
reaData();
break;
}
}
private void reaData() {
try {
UserDBUtils userDBUtils = db.selector(UserDBUtils.class).findFirst();
Log.e("###db",userDBUtils.toString());
} catch (DbException e) {
e.printStackTrace();
}
}
private void insertData() {
UserDBUtils userDBUtils = new UserDBUtils();
userDBUtils.setId(0);
userDBUtils.setName("Tom");
userDBUtils.setAge(11);
try {
db.save(userDBUtils);
} catch (DbException e) {
e.printStackTrace();
}
}
}
2…ViewUtils:控件事件绑定相关
代码示例
package day01.bw.com.myapplicationfour;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.Toast;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;
@ContentView(R.layout.activity_view)
public class ViewActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view);
x.view().inject(this);
}
@Event(value = {R.id.single_Click},type = View.OnClickListener.class)
private void onClick(View v){
Toast.makeText(this, "普通点击", Toast.LENGTH_SHORT).show();
}
@Event(value = {R.id.long_Click},type = View.OnLongClickListener.class)
private boolean longClick(View v){
Toast.makeText(this, "长按点击", Toast.LENGTH_SHORT).show();
return true;
}
@Event(value = {R.id.check_box},type = CompoundButton.OnCheckedChangeListener.class)
private void check(CompoundButton button,Boolean b){
if(b){
Toast.makeText(this, "同意了", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this, "不同意", Toast.LENGTH_SHORT).show();
}
}
}
3.HttpUtils:网络获取,代替异步
GET请求代码
private void getData() {
RequestParams params = new RequestParams(url);
params.setUri(url);
x.http().get(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Log.e("###result",result+"");
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
ex.printStackTrace();
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
POST请求代码
private void postData() {
RequestParams params = new RequestParams();
params.setUri(url1);
params.addBodyParameter("phone","12341234123");
params.addBodyParameter("passwd","222");
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Log.e("###post",result+"");
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
ex.printStackTrace();
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
4.BitmapUtils:处理图片
代码示例
package day01.bw.com.myapplicationfour;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.Event;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;
@ContentView(R.layout.activity_bitmap)
public class BitmapActivity extends AppCompatActivity {
private String url = "https://images0.cnblogs.com/blog/651487/201501/281616176915467.jpg";
@ViewInject(R.id.showImg)
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bitmap);
x.view().inject(this);
}
@Event(value = R.id.load_Img,type = View.OnClickListener.class)
private void click(View view){
x.image().bind(imageView,url);
}
}