這是一個吊炸天的集合了各大android類庫的項目
FastAndroid
這只是一個集合了各大吊炸天開源類庫的項目和demo
This is only a project which collect many open source class and a demo
讓我們看一下到底有那些吊炸天的類庫
Let's see how cool these class are
- com.android.support:support-v4:22.1.1 你懂的
- com.android.support:appcompat-v7:22.1.1 你懂的
- com.j256.ormlite:ormlite-android:4.48 數據庫操作的
- com.squareup.okhttp:okhttp:2.4.0 網絡的
- com.github.bumptech.glide:glide:3.6.1 圖片加載的
- com.android.support:recyclerview-v7:22.1.1 你懂的
- com.android.support:cardview-v7:22.1.1 你懂的
下面來分析一下fastandroid的好用類庫
Let's analyze good class in fast android
BaseActivity
這是一個好用的baseActivity,用法
This is a good base class,USE
MainActivity extends com.gx303.fastandroid.BaseActivity
{
@Override
public void setContentView() {
}
@Override
public void findViews() {
}
@Override
public void getData() {
}
@Override
public void showContent() {
}
}BaseFragmentActivity
和BaseActivity同理
Same as BaseActivity
FastAdapter
這是一個好用方便的BaseAdapter,可以用于Listview或者GridView
This is a good use BaseAdapter,Can use for ListView or GridView
FastAdapter adapter1=new FastAdapter<String>(getApplicationContext(),datas,R.layout.xxx) {
@Override
public void convert(ViewHolder helper, String item) {
//findview
ImageView iv1=helper.getView(R.id.imageView2);
//dosth
}
};
lv1.setAdapter(adapter1);FastDialog
這是一個好用方便的dialog類
This is a good use dialog class
Dialog da1=new FastDialog(DialogDemo.this,R.style.Trans_Fullscreen,R.layout.xxx){
@Override
public void createDialog(ViewHolder helper) {
TextView tv_sure=helper.getView(R.id.tv_sure);
tv_sure.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
da1.dismiss();
}
});
}
}.getDialog();FastRecyclerViewAdapter
這是一個好用方便的RecyclerView.Adapter
This is a good use RecyclerView.Adapter
com.gx303.fastandroid.adapter.FastRecyclerViewAdapter<String> adapter1=new com.gx303.fastandroid.adapter.FastRecyclerViewAdapter<String>(getApplicationContext(),datas,R.layout.xxxxxx){
@Override
public void convert(RecyclerViewViewHolder helper, String item) {
//findview
TextView tv1=helper.getView(R.id.text_view);
//dosth
tv1.setText(item);
}
};
rv1.setAdapter(adapter1);FastDatabaseHelper
這是一個好用方便的數據庫類
This a good use sqlbase class
User類的寫法參照OrmLite官方 User Class writing way OrmLite官方
public class dbhelp1 extends FastDatabaseHelper{
static String DataBaseName="db1.db";
static int DATABASE_VERSION=2;
public dbhelp1(Context context)
{
super(context,DataBaseName,DATABASE_VERSION);
}
@Override
public void setBeans() {
super.beans.add(User.class);
}
}FastDbHelper
這個類可以和FastDatabaseHelper配合最佳,就如巧克力和下雨天最配
This Class can match FastDatabaseHelper good ,just as eat chocolate in rainy day
FastDbHelper fh=new FastDbHelper(new dbhelp1(getApplicationContext()));
fh.create(new User("hehe123123")); FastHttp
這個類是網絡請求的 This class can use for http post or get
Map<String,String > map1=new HashMap<String,String>();
map1.put("key1","value1");
map1.put("key2","value2");
map1.put("key3","value3");
map1.put("key4","value4");
map1.put("key4", "測試中文");
com.gx303.fastandroid.http.FastHttp.POST("http://weixingtest1.sinaapp.com/testpost.php", map1, new FastHttpCallback() {
@Override
public void onResponse(String result) {
e("測試POST結束" + result);
}
@Override
public void onFailure(String error) {
}
});FastLogUtils
方便的log管理 Good log manager
e("easy as pie"); DropDownListView
可下拉刷新和上拉自動加載的ListView
Can pull to refresh and pull up auto load listview
private DropDownListView listView;
listView=(DropDownListView)findViewById(R.id.dropdownlistview);
// set drop down listener
listView.setOnDropDownListener(new DropDownListView.OnDropDownListener() {
@Override
public void onDropDown() {
new GetDataTask(true).execute();
}
});
// set on bottom listener
listView.setOnBottomListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new GetDataTask(false).execute();
}
});PullToLoadView
可下拉刷新和上拉自動加載的RecyclerView
Can pull to refresh and pull up auto load RecyclerView
com.gx303.fastandroid.view.RecyclerView.PullToLoadView rv1;
rv1=(com.gx303.fastandroid.view.RecyclerView.PullToLoadView)findViewById(R.id.pulltoloadview);
rv1.getRecyclerView().setLayoutManager(new LinearLayoutManager(this));
rv1.getRecyclerView().setItemAnimator(new DefaultItemAnimator());
rv1.getRecyclerView().setHasFixedSize(true);
rv1.isLoadMoreEnabled(true);
rv1.setPullCallback(new PullCallback() {
@Override
public void onLoadMore() {
e("onLoadMore");
handler.sendEmptyMessageDelayed(1, 2000);
}
@Override
public void onRefresh() {
e("onRefresh");
handler.sendEmptyMessageDelayed(1, 2000);
}
@Override
public boolean isLoading() {
return false;
}
@Override
public boolean hasLoadedAllItems() {
return false;
}
});
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
rv1.setComplete();
}
};