##abase
abase интегрировал util, который я часто использую, а также такие open-source фреймворки, как androidannotations и xutils. Затем я немного модифицировал его в соответствии со своими привычками. Моя цель — обеспечить быстрое создание проектов.
##abase состав
#androidannotations xUtils
Я заменил xUtils ViewUtils на androidannotations, используя более мощный ioc annotations. Также я интегрировал три других больших модуля и провёл частичную оптимизацию Db, Http и Bitmap модулей. На основе abase я создал свою собственную настройку.
#abase-util
Включает более 100 утилит, содержащих все методы, которые я могу повторно использовать на данный момент.
#abase-ext
Предоставляет поддержку для расширений, таких как sdk firewall, umeng статистика, автоматическое обновление и обратная связь. Для использования достаточно добавить необходимые зависимости.
#abase-view
Поддерживает UI, включая автоматическую прокрутку viewpage и компоненты для обновления по запросу. Для использования необходимо добавить необходимые зависимости.
##Изучение
Перед использованием рекомендуется изучить документацию по androidannotations и xUtils.
Если вы хотите использовать только abase-util, просто добавьте следующий код перед использованием:
Abase.setContext(context);
// Конечно, вам также нужно добавить некоторые разрешения и другие настройки самостоятельно.
##Demo
В каталоге demo находятся примеры проектов, которые могут служить образцом (версия abase может отличаться).
##Пример
// androidannotations
//activity форма обычно использует привязку объекта AActivity + AAdapter +ItemView<T>
@EActivity(R.layout.activity_main)
public class MainActivity extends AActivity {
@ViewById
GridView gv;
ABaseAdapter<Book> adapter;
@Bean
ADao db;
/**
Этот метод можно использовать вместо onCreate().
**/
public void init() {
// Используйте BookItemView для замены адаптера
adapter = new AeBaseAdapter<Book>(BookItemView.class, this);
gv.setAdapter(adapter);
setData();
}
@EViewGroup(R.layout.gv_item)
public class BookItemView extends ItemView<Book> {
@ViewById
Button gv_bt;
public BookItemView(Context context) {
super(context);
}
@AfterInject
public void init() {}
// bind метод используется для установки соответствующих свойств.
public void bind(final Book book) {
gv_bt.setText(book.name);
}
}
//fragment tabs использование формы
AFragmentActivity+AFragmentPagerAdapter+Viewpage+TabPageIndicator+AFragment
@EActivity(R.layout.activity_viewpage)
@NoTitle
public class RankActivity extends AFragmentActivity {
@ViewById
TextView tv_title;
@ViewById
ViewPager vp;
@ViewById // viewindicator open source project
TabPageIndicator tpi;
private AFragmentPagerAdapter adapter;
protected void init() {
tv_title.setText("Rank");
adapter = new AFragmentPagerAdapter(getSupportFragmentManager());
adapter.setFragment(AFragment.newInstances(MsgKit.getBundle("url", new String[]{Config.apprank_url, Config.gamerank_url}),
RankFragment.class, RankFragment.class));
adapter.setLable("Application rank", "Game rank");
vp.setAdapter(adapter);
tpi.setViewPager(vp);
}
}
@EFragment(R.layout.lay)
public class RankFragment extends AFragment {
@ViewById
ListView lv;
@ViewById
ProgressBar pb;
@Bean
AppAdapter adapter;
@FragmentArg
String url;
@Override
protected void init() {
pb.setVisibility(View.VISIBLE);
setDate(xxx);
}
@Override
public void setDate(String data) {
adapter.setData(AppInfo.paraseData(data));
adapter.setListView(lv);
lv.setAdapter(adapter);
pb.setVisibility(View.GONE);
}}
// Common kit some useful and useless things
/**
* SharedPreferences kit
*
*/
public class ConfigKit
/**
* Handler related msg tool
* @author jayqqaa12
* @date 2013-6-8
*/
public class MsgKit
/***
* Time stamp
*
* @author 12
*
* SystemClock.elapsedRealtime
*/
public class TimeKit
/**
* String operation tool class.
*
*/
public final class Txt
/***
* Used to judge the version
*
* @author 12
*
*/
public class VersionKit
/***
* Date operation tool
* @author 12
*
*/
public class DateKit
/**
* Print log
*
* @author jayqqaa12
* @date 2013-6-5
*/
public class L
/**
* Obtain logcat log information
*
* <uses-permission android:name="android.permission.READ_LOGS" />
*
* @author jayqqaa12
* @date 2013-5-15
*/
public class LogcatKit
/**
* Toast
*
* @author jayqqaa12
*
*/
public class T
/**
* Validation toolbox
*/
public class Validate {
/**
* File tool bar
*
*/
public class FileKit
/**
* Java Kits implemented Zip tool
*
*/
public class ZipKits
/**
* Media type toolbox
*
* @author 12
*
*/
public class MediaTypeKit
*Примечание: в тексте запроса присутствуют фрагменты кода, но они не содержат синтаксических ошибок и не требуют перевода. Поэтому перевод выполнен без изменений.*
You can comment after Login
Inappropriate content may be displayed here and will not be shown on the page. You can check and modify it through the relevant editing function
If you confirm that the content does not involve inappropriate language/advertisement redirection/violence/vulgar pornography/infringement/piracy/false/insignificant or illegal content related to national laws and regulations, you can click submit to make an appeal, and we will handle it as soon as possible.
Comments ( 0 )