├── .gitignore
├── .gitmodules
├── README.md
├── X5WebDemo
├── .gitignore
├── build.gradle
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── libs
│ └── tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ └── webpage
│ │ ├── fileChooser.html
│ │ ├── fullscreenVideo.html
│ │ ├── hitTestResult.html
│ │ └── websocket.html
│ ├── java
│ └── com
│ │ └── example
│ │ └── test_webview_demo
│ │ ├── APPAplication.java
│ │ ├── BrowserActivity.java
│ │ ├── FilechooserActivity.java
│ │ ├── FullScreenActivity.java
│ │ ├── MainActivity.java
│ │ └── utils
│ │ ├── WebViewJavaScriptFunction.java
│ │ └── X5WebView.java
│ ├── jniLibs
│ └── armeabi
│ │ └── liblbs.so
│ └── res
│ ├── drawable-xhdpi
│ ├── color_progressbar.xml
│ ├── filechooser.png
│ ├── fullscreen.png
│ ├── function.png
│ ├── ic_launcher.png
│ ├── search.png
│ ├── tbsvideo.png
│ ├── tbsweb.png
│ ├── theme_adrbar_btn_refresh_normal0.png
│ ├── theme_menu_btn_quit_fg_normal0.png
│ ├── theme_toolbar_btn_back_fg_normal0.png
│ ├── theme_toolbar_btn_cleardata_normal0.png
│ ├── theme_toolbar_btn_forward_fg_normal0.png
│ ├── theme_toolbar_btn_home_fg_normal2.png
│ ├── theme_toolbar_btn_menu_fg_normal.png
│ ├── theme_toolbar_btn_menu_fg_pressed.png
│ ├── theme_toolbar_btn_openfile_normal0.png
│ ├── theme_toolbar_btn_testprocesses_fg_normal0.png
│ └── theme_toolbar_btn_testwebviews_fg_normal0.png
│ ├── layout
│ ├── activity_main.xml
│ ├── activity_main_advanced.xml
│ ├── filechooser_layout.xml
│ ├── fullscreen_sys_web.xml
│ ├── fullscreen_web.xml
│ └── function_block.xml
│ ├── mipmap-hdpi
│ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxxhdpi
│ └── ic_launcher.png
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── styles.xml
├── build.gradle
├── config.gradle
├── demoapp
├── .gitignore
├── build.gradle
├── hs_err_pid9987.log
├── libs
│ └── tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── config.properties
│ └── html
│ │ ├── test.html
│ │ └── test.hyperesources
│ │ ├── 4619AC-restorable.plist
│ │ ├── HYPE-518.full.min.js
│ │ ├── HYPE-518.thin.min.js
│ │ ├── PIE.htc
│ │ ├── b03533fa828ba61e2e39d42e4334970a314e59df.jpg
│ │ ├── blank.gif
│ │ └── test_hype_generated_script.js
│ ├── java
│ └── com
│ │ └── bailiangjin
│ │ └── demo
│ │ ├── MainActivity.java
│ │ ├── MyApplication.java
│ │ ├── SplashActivity.java
│ │ ├── activity
│ │ ├── TestActivity.java
│ │ ├── TestDeviceActivity.java
│ │ └── logicutils
│ │ │ └── AccountUtils.java
│ │ ├── aliandroidguide
│ │ ├── Test.java
│ │ └── broadcast
│ │ │ ├── ILocalBroadcastservice.java
│ │ │ └── LocalBroadcastService.java
│ │ ├── app
│ │ └── AppManager.java
│ │ ├── base
│ │ ├── BaseActivity.java
│ │ ├── BaseFragment.java
│ │ └── BtnBaseActivity.java
│ │ ├── config
│ │ ├── EnumInterFace.java
│ │ └── UrlUtils.java
│ │ ├── constants
│ │ ├── BroadcastAction.java
│ │ ├── IntentKey.java
│ │ ├── LoginResult.java
│ │ └── SPKey.java
│ │ ├── db
│ │ ├── MySQLiteOpenHelper.java
│ │ ├── dao
│ │ │ └── PersonDao.java
│ │ └── modle
│ │ │ └── Person.java
│ │ ├── demo
│ │ ├── ImageLoadActivity.java
│ │ ├── WebViewActivity.java
│ │ ├── X5WebViewActivity.java
│ │ ├── catche
│ │ │ └── CacheUtils.java
│ │ ├── dbtest
│ │ │ └── DatabaseActivity.java
│ │ ├── dynamic
│ │ │ ├── DetailActivity.java
│ │ │ ├── DynamicPageActivity.java
│ │ │ ├── adapter
│ │ │ │ ├── AbsBaseBtnGroupAdapter.java
│ │ │ │ ├── BtnPhotoGroupAdapter.java
│ │ │ │ └── BtnSkipGroupAdapter.java
│ │ │ ├── bean
│ │ │ │ ├── databean
│ │ │ │ │ ├── ClassDataBean.java
│ │ │ │ │ ├── PageDataBean.java
│ │ │ │ │ ├── PageInfo.java
│ │ │ │ │ └── ProjectDataBean.java
│ │ │ │ └── viewbean
│ │ │ │ │ ├── ViewBean.java
│ │ │ │ │ ├── base
│ │ │ │ │ ├── AbsSelectedItem.java
│ │ │ │ │ ├── BaseItem.java
│ │ │ │ │ └── ExtraParam.java
│ │ │ │ │ ├── group
│ │ │ │ │ ├── BtnGroup.java
│ │ │ │ │ ├── CBGroup.java
│ │ │ │ │ └── RBGroup.java
│ │ │ │ │ ├── item
│ │ │ │ │ ├── BtnItem.java
│ │ │ │ │ ├── CBItem.java
│ │ │ │ │ ├── EditTextItem.java
│ │ │ │ │ ├── RBItem.java
│ │ │ │ │ └── TextItem.java
│ │ │ │ │ └── type
│ │ │ │ │ ├── BtnGroupType.java
│ │ │ │ │ ├── BtnType.java
│ │ │ │ │ ├── TxtType.java
│ │ │ │ │ ├── ViewBeanType.java
│ │ │ │ │ └── ViewType.java
│ │ │ ├── callback
│ │ │ │ └── MyOnClickListener.java
│ │ │ ├── generater
│ │ │ │ ├── ViewGenerator.java
│ │ │ │ ├── ViewGeneratorImpl.java
│ │ │ │ └── ViewTools.java
│ │ │ └── view
│ │ │ │ ├── base
│ │ │ │ ├── BaseButton.java
│ │ │ │ ├── BaseCheckBox.java
│ │ │ │ ├── BaseEditText.java
│ │ │ │ ├── BaseGridView.java
│ │ │ │ ├── BaseGridViewNew.java
│ │ │ │ └── BaseTextView.java
│ │ │ │ ├── impl
│ │ │ │ ├── MyCheckboxGroup.java
│ │ │ │ ├── button
│ │ │ │ │ └── SaveButton.java
│ │ │ │ ├── et
│ │ │ │ │ └── CommonEditText.java
│ │ │ │ ├── group
│ │ │ │ │ ├── PhotoBtnGridView.java
│ │ │ │ │ └── SkipBtnGridView.java
│ │ │ │ └── textview
│ │ │ │ │ ├── ClassNameTextView.java
│ │ │ │ │ ├── ContentTextView.java
│ │ │ │ │ └── TitleTextView.java
│ │ │ │ └── root
│ │ │ │ └── BaseView.java
│ │ ├── file
│ │ │ └── FileOperationActivity.java
│ │ ├── filelistener
│ │ │ └── FileListenerActivity.java
│ │ ├── fragmentdemo
│ │ │ ├── FragmentAdapterDemos.java
│ │ │ ├── MyFragmentActivity.java
│ │ │ └── MyFragmentPagerAdapter.java
│ │ ├── keylistener
│ │ │ └── KeyListenerActivity.java
│ │ ├── launchmode
│ │ │ ├── LaunchModeActivity1.java
│ │ │ ├── LaunchModeActivity2.java
│ │ │ ├── LaunchModeActivity3.java
│ │ │ └── LaunchModeActivity4.java
│ │ ├── networkdemo
│ │ │ ├── NetworkActivity.java
│ │ │ └── weather
│ │ │ │ ├── WeatherRequest.java
│ │ │ │ ├── config
│ │ │ │ └── WeatherConfig.java
│ │ │ │ └── model
│ │ │ │ ├── WeatherCityInfo.java
│ │ │ │ ├── WeatherDetail.java
│ │ │ │ └── WeatherSK.java
│ │ ├── recycleview
│ │ │ └── NormalRecyclerViewAdapter.java
│ │ ├── switchnetworkstate
│ │ │ └── SwitchNetWorkStateActivity.java
│ │ ├── viewpager
│ │ │ ├── BaseViewPagerFragment.java
│ │ │ ├── MyPagerAdapter.java
│ │ │ ├── PageUtil.java
│ │ │ ├── ViewPagerBean.java
│ │ │ └── ViewPagerDemoActivity.java
│ │ └── widget
│ │ │ ├── WidgetMainActivity.java
│ │ │ ├── dialog
│ │ │ └── DialogActivity.java
│ │ │ ├── draggridview
│ │ │ ├── DragAdapter.java
│ │ │ └── DragGridViewActivity.java
│ │ │ └── searchbar
│ │ │ └── SearchActivity.java
│ │ ├── fragment
│ │ ├── Fragment1.java
│ │ └── Fragment2.java
│ │ ├── javase
│ │ └── Test.java
│ │ ├── jni
│ │ └── NdkJniUtils.java
│ │ ├── kt
│ │ ├── HelloKotlin.java
│ │ └── HelloWorld.kt
│ │ ├── model
│ │ └── TaskItemBean.java
│ │ ├── net
│ │ ├── HttpCallback.java
│ │ ├── HttpUtils.java
│ │ └── OKHttpUtils.java
│ │ ├── utils
│ │ ├── ActivityUtils.java
│ │ └── image
│ │ │ ├── CircleTransform.java
│ │ │ ├── CornersTransform.java
│ │ │ ├── GetImageCacheAsyncTask.java
│ │ │ ├── IImageLoader.java
│ │ │ ├── ImImageLoader.java
│ │ │ ├── ImageParam.java
│ │ │ ├── ImageUtils.java
│ │ │ └── MyGlideModule.java
│ │ └── view
│ │ └── X5WebView.java
│ ├── jniLibs
│ └── armeabi
│ │ └── liblbs.so
│ ├── jni_bak
│ └── jni.rar
│ └── res
│ ├── drawable-hdpi
│ ├── ic_account_box_black.png
│ ├── ic_account_box_white_48dp.png
│ ├── ic_alarm_black_48dp.png
│ ├── ic_alarm_on_black_48dp.png
│ ├── ic_alarm_on_white_48dp.png
│ ├── ic_alarm_white_48dp.png
│ ├── ic_arrow_back_black_36dp.png
│ ├── ic_arrow_back_white_36dp.png
│ ├── ic_autorenew_black_48dp.png
│ ├── ic_autorenew_white_48dp.png
│ ├── ic_backup_black_48dp.png
│ ├── ic_backup_white_48dp.png
│ ├── ic_build_black_48dp.png
│ ├── ic_build_white_48dp.png
│ ├── ic_cached_black_48dp.png
│ ├── ic_cached_white_48dp.png
│ ├── ic_check_circle_black_48dp.png
│ ├── ic_check_circle_white_48dp.png
│ ├── ic_done_all_black.png
│ ├── ic_done_all_white.png
│ ├── ic_done_black_48dp.png
│ ├── ic_done_white_48dp.png
│ ├── ic_explore_black_48dp.png
│ ├── ic_explore_white_48dp.png
│ ├── ic_favorite_black.png
│ ├── ic_favorite_border_black.png
│ ├── ic_favorite_border_white.png
│ ├── ic_favorite_white.png
│ ├── ic_find_replace_black_48dp.png
│ ├── ic_find_replace_white_48dp.png
│ ├── ic_fingerprint_black_48dp.png
│ ├── ic_fingerprint_white_48dp.png
│ ├── ic_get_app_black.png
│ ├── ic_get_app_white.png
│ ├── ic_help_black.png
│ ├── ic_help_outline_black.png
│ ├── ic_help_outline_white.png
│ ├── ic_help_white.png
│ ├── ic_highlight_off_black.png
│ ├── ic_highlight_off_white.png
│ ├── ic_home_black.png
│ ├── ic_home_white.png
│ ├── ic_launcher.png
│ ├── ic_location_black.png
│ ├── ic_location_white.png
│ ├── ic_lock_outline_lock_black.png
│ ├── ic_lock_outline_lock_white.png
│ ├── ic_lock_outline_open_black.png
│ ├── ic_lock_outline_open_white.png
│ ├── ic_power_settings_new_black.png
│ ├── ic_power_settings_new_white.png
│ ├── ic_query_builder_black.png
│ ├── ic_query_builder_white.png
│ ├── ic_settings_black.png
│ ├── ic_settings_white.png
│ ├── ic_share_black.png
│ ├── ic_share_white.png
│ ├── ic_swap_horiz_black.png
│ ├── ic_swap_horiz_white.png
│ ├── ic_swap_vert_black.png
│ ├── ic_swap_vert_white.png
│ ├── ic_thumb_down_black.png
│ ├── ic_thumb_down_white.png
│ ├── ic_thumb_up_black.png
│ ├── ic_thumb_up_white.png
│ ├── ic_visibility_black.png
│ ├── ic_visibility_off_black.png
│ ├── ic_visibility_off_white.png
│ ├── ic_visibility_white.png
│ ├── ic_zoom_in_black.png
│ ├── ic_zoom_in_white.png
│ ├── ic_zoom_out_black.png
│ └── ic_zoom_out_white.png
│ ├── drawable-xhdpi
│ ├── btn_photo.png
│ ├── icon_app.png
│ ├── icon_timeoutsettings.png
│ ├── icon_user.png
│ └── linear_login.png
│ ├── drawable
│ ├── app_splash_gradient_bg.xml
│ ├── demo_common_gradient_bg.xml
│ └── demo_splash_gradient_bg.xml
│ ├── layout
│ ├── activity_btn_base.xml
│ ├── activity_database.xml
│ ├── activity_demo_draggridview.xml
│ ├── activity_dynamic.xml
│ ├── activity_file_operation.xml
│ ├── activity_filelistener.xml
│ ├── activity_image_load.xml
│ ├── activity_keylistener.xml
│ ├── activity_network.xml
│ ├── activity_search.xml
│ ├── activity_splash.xml
│ ├── activity_switch_network_state.xml
│ ├── activity_test.xml
│ ├── activity_webview.xml
│ ├── activity_x5_webview.xml
│ ├── btn_base_body.xml
│ ├── ctn_button.xml
│ ├── ctn_edittext.xml
│ ├── ctn_gridview.xml
│ ├── ctn_ll.xml
│ ├── ctn_radiogroup.xml
│ ├── ctn_scrollview.xml
│ ├── ctn_textview.xml
│ ├── fragment1.xml
│ ├── fragment2.xml
│ ├── fragment_viewpager_demo.xml
│ ├── item_btn_photo_gridview.xml
│ ├── item_btn_skip_gridview.xml
│ ├── item_text.xml
│ └── page_item.xml
│ ├── menu
│ └── menu_main.xml
│ ├── mipmap-hdpi
│ └── ic_launcher.png
│ ├── mipmap-mdpi
│ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ └── ic_launcher.png
│ ├── mipmap-xxxhdpi
│ └── ic_launcher.png
│ ├── values-v21
│ └── styles.xml
│ ├── values-w820dp
│ └── dimens.xml
│ └── values
│ ├── array.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── hs_err_pid672.log
├── import-summary.txt
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | #Gradle
3 | .gradle/
4 | build/
5 | captures/
6 |
7 | #mac
8 | .DS_Store
9 |
10 | # Local configuration file (sdk path, etc)
11 | local.properties
12 |
13 | # Intellij project files
14 | *.iml
15 | *.ipr
16 | *.iws
17 | .idea/
18 |
19 | # Eclipse project files
20 | .classpath
21 | .project
22 |
23 | # generated files
24 | bin/
25 | gen/
26 |
27 | # Java class files
28 | *.class
29 |
30 | # files for the dex VM
31 | *.dex
32 |
33 | *.apk
34 | *.ap_
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libs/AndroidRapidDevelopLibrarys"]
2 | path = libs/AndroidRapidDevelopLibrarys
3 | url = https://github.com/bailiangjin/AndroidRapidDevelopLibrarys.git
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # BaseLibrary
2 | 因工程整体重构 代码结构有较大调整 为使得工程可以更好地 扩展和使用, 本具体lib代码已经转移到[AndroidRapidDevelopLibrarys](https://github.com/bailiangjin/AndroidRapidDevelopLibrarys)
3 |
4 | 详细代码请到[AndroidRapidDevelopLibrarys](https://github.com/bailiangjin/AndroidRapidDevelopLibrarys)
5 |
6 | 本工程为AndroidRapidDevelopLibrarys 的一个使用示例,该工程将 AndroidRapidDevelopLibrarys 作为git sub moduel 引入
7 |
8 | 实际使用时,可以参考本工程的 git sub moduel 的引用方式
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/X5WebDemo/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/X5WebDemo/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion rootProject.ext.compileSdkVersion
6 | buildToolsVersion rootProject.ext.buildToolsVersion
7 | defaultConfig {
8 |
9 | minSdkVersion rootProject.ext.minSdkVersion
10 | targetSdkVersion rootProject.ext.targetSdkVersion
11 | applicationId "com.example.test_webview_demo"
12 | versionCode 1
13 | versionName "1.0"
14 |
15 | // Specifies the ABI configurations of your native
16 | // libraries Gradle should build and package with your APK.
17 | // ndk {
18 | // abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
19 | // }
20 | }
21 | buildTypes {
22 | release {
23 | minifyEnabled false
24 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
25 | }
26 | }
27 |
28 | //android studio默认so文件加载目录为:src/main/jniLibs
29 | //如在module的build.gradle按照如下方式,自定义了so文件加载目录请确保对应目录下只有armeabi目录
30 | // sourceSets {
31 | // main{
32 | // jniLibs.srcDirs = ['libs']
33 | // }
34 | // }
35 | }
36 |
37 | dependencies {
38 | implementation fileTree(include: ['*.jar'], dir: 'libs')
39 |
40 | implementation sdkVar.SupportV7
41 | implementation 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
42 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
43 | }
44 |
--------------------------------------------------------------------------------
/X5WebDemo/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/X5WebDemo/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 17 13:26:57 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/X5WebDemo/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/X5WebDemo/libs/tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/libs/tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar
--------------------------------------------------------------------------------
/X5WebDemo/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /home/aczhengliu/programfiles/adt-bundle-linux-x86_64-20140702/sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/assets/webpage/fileChooser.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | file chooser
7 |
15 |
21 |
22 |
23 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/assets/webpage/fullscreenVideo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
52 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/assets/webpage/hitTestResult.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 请长按一下html元素
7 |
12 |
13 |
14 | 请长按一下html元素
15 | hello world!
16 |
17 | 
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/assets/webpage/websocket.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | WebSocket 测试
9 |
10 |
11 |
12 |
34 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/java/com/example/test_webview_demo/APPAplication.java:
--------------------------------------------------------------------------------
1 | package com.example.test_webview_demo;
2 |
3 | import android.app.Application;
4 | import android.util.Log;
5 |
6 | import com.tencent.smtt.sdk.QbSdk;
7 |
8 | public class APPAplication extends Application {
9 |
10 | @Override
11 | public void onCreate() {
12 | // TODO Auto-generated method stub
13 | super.onCreate();
14 | //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
15 |
16 | QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
17 |
18 | @Override
19 | public void onViewInitFinished(boolean arg0) {
20 | // TODO Auto-generated method stub
21 | //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
22 | Log.d("app", " onViewInitFinished is " + arg0);
23 | }
24 |
25 | @Override
26 | public void onCoreInitFinished() {
27 | // TODO Auto-generated method stub
28 | }
29 | };
30 | //x5内核初始化接口
31 | QbSdk.initX5Environment(getApplicationContext(), cb);
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/java/com/example/test_webview_demo/utils/WebViewJavaScriptFunction.java:
--------------------------------------------------------------------------------
1 | package com.example.test_webview_demo.utils;
2 |
3 | public interface WebViewJavaScriptFunction {
4 |
5 | void onJsFunctionCalled(String tag);
6 | }
7 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/jniLibs/armeabi/liblbs.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/jniLibs/armeabi/liblbs.so
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/color_progressbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
14 |
15 |
16 |
17 |
18 | -
19 |
20 |
21 |
22 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/filechooser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/filechooser.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/fullscreen.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/function.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/function.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/search.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/tbsvideo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/tbsvideo.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/tbsweb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/tbsweb.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_adrbar_btn_refresh_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_adrbar_btn_refresh_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_menu_btn_quit_fg_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_menu_btn_quit_fg_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_back_fg_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_back_fg_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_cleardata_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_cleardata_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_forward_fg_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_forward_fg_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_home_fg_normal2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_home_fg_normal2.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_menu_fg_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_menu_fg_normal.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_menu_fg_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_menu_fg_pressed.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_openfile_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_openfile_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_testprocesses_fg_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_testprocesses_fg_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_testwebviews_fg_normal0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/drawable-xhdpi/theme_toolbar_btn_testwebviews_fg_normal0.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/layout/activity_main_advanced.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
24 |
25 |
35 |
36 |
37 |
50 |
51 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/layout/filechooser_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
10 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/layout/fullscreen_sys_web.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/layout/fullscreen_web.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/layout/function_block.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
17 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/X5WebDemo/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | X5功能演示
3 | 设置
4 | MiniQBActivity
5 | Hello world!
6 | (X5内核功能演示)
7 | 普通接入直接参考“APPApplication” “BrowserActivity” “X5WebView”中相关实现即可
8 |
9 |
10 | - 浏览器demo
11 | - 全屏播放
12 | - 文件选择器
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/X5WebDemo/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demoapp/.gitignore:
--------------------------------------------------------------------------------
1 | build/
--------------------------------------------------------------------------------
/demoapp/libs/tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/libs/tbs_sdk_thirdapp_v3.1.0.1034_43100_sharewithdownload_obfs_20170301_182143.jar
--------------------------------------------------------------------------------
/demoapp/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in E:\Program_Files\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/demoapp/src/main/assets/config.properties:
--------------------------------------------------------------------------------
1 | #配置文件demo
2 | testkey =Toast 测试配置文件信息 sub
3 |
4 |
5 |
--------------------------------------------------------------------------------
/demoapp/src/main/assets/html/test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | test
7 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
标题栏
41 |
42 |
43 |
确认
44 |
45 |
46 |
Button
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/demoapp/src/main/assets/html/test.hyperesources/4619AC-restorable.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/assets/html/test.hyperesources/4619AC-restorable.plist
--------------------------------------------------------------------------------
/demoapp/src/main/assets/html/test.hyperesources/b03533fa828ba61e2e39d42e4334970a314e59df.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/assets/html/test.hyperesources/b03533fa828ba61e2e39d42e4334970a314e59df.jpg
--------------------------------------------------------------------------------
/demoapp/src/main/assets/html/test.hyperesources/blank.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/assets/html/test.hyperesources/blank.gif
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/MyApplication.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo;
2 |
3 | import android.util.Log;
4 |
5 | import com.bailiangjin.uilibrary.app.SuperApplication;
6 | import com.bailiangjin.utilslibrary.api.UtilsLibrary;
7 | import com.bugtags.library.Bugtags;
8 | import com.bugtags.library.BugtagsOptions;
9 | import com.tencent.smtt.sdk.QbSdk;
10 |
11 | /**
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/10/12 17:32
15 | */
16 | public class MyApplication extends SuperApplication {
17 |
18 |
19 |
20 | @Override
21 | public void onCreate() {
22 | super.onCreate();
23 |
24 | initBugstags();
25 |
26 | //初始化 ImageLoad工具类
27 | // 只在Application中初始化一次 全局可使用
28 | UtilsLibrary.init(this);
29 |
30 | QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
31 |
32 | @Override
33 | public void onViewInitFinished(boolean arg0) {
34 | // TODO Auto-generated method stub
35 | //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
36 | Log.d("app", " onViewInitFinished is " + arg0);
37 | }
38 |
39 | @Override
40 | public void onCoreInitFinished() {
41 | // TODO Auto-generated method stub
42 | }
43 | };
44 | //x5内核初始化接口
45 | QbSdk.initX5Environment(getApplicationContext(), cb);
46 |
47 |
48 |
49 | }
50 |
51 | /**
52 | * 初始化Bugstags
53 | */
54 | private void initBugstags() {
55 | final String BUGTAGS_APP_KEY = "2ee6086adc2bc223e122e1abd3edb16a";
56 | BugtagsOptions options = new BugtagsOptions.Builder().
57 | trackingLocation(false).//是否获取位置
58 | trackingCrashLog(true).//是否收集crash
59 | trackingConsoleLog(true).//是否收集console log
60 | trackingUserSteps(true).//是否收集用户操作步骤
61 | build();
62 |
63 | //BTGInvocationEventBubble(悬浮小球)
64 | //BTGInvocationEventShake(摇一摇)
65 | //BTGInvocationEventNone(静默)
66 | Bugtags.start(BUGTAGS_APP_KEY, this, Bugtags.BTGInvocationEventNone, options);
67 |
68 |
69 | }
70 |
71 | @Override
72 | protected void onAppExit() {
73 |
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/SplashActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo;
2 |
3 | import android.os.Bundle;
4 | import android.os.Handler;
5 | import android.widget.TextView;
6 |
7 | import com.bailiangjin.utilslibrary.utils.app.AppUtils;
8 | import com.bailiangjin.demo.base.BaseActivity;
9 |
10 | /**
11 | * Splash页
12 | */
13 | public class SplashActivity extends BaseActivity
14 | {
15 |
16 | private TextView tv_app_version_name;
17 |
18 | @Override
19 | protected int getLayoutResId()
20 | {
21 | return R.layout.activity_splash;
22 | }
23 |
24 | @Override
25 | protected void beforeViewBind(Bundle savedInstanceState) {
26 |
27 | }
28 |
29 |
30 | @Override
31 | protected void initView(Bundle savedInstanceState) {
32 |
33 | hideCommonBaseTitle();
34 | tv_app_version_name = (TextView) findViewById(R.id.tv_app_version_name);
35 | }
36 |
37 | @Override
38 | protected void initData(Bundle savedInstanceState) {
39 | tv_app_version_name.setText(AppUtils.getCurrentAppVersionName());
40 |
41 | //跳转到 主页
42 | new Handler().postDelayed(new Runnable()
43 | {
44 | @Override
45 | public void run()
46 | {
47 | MainActivity.start(SplashActivity.this);
48 | SplashActivity.this.finish();
49 | }
50 | }, 1000);
51 |
52 | }
53 |
54 |
55 |
56 |
57 |
58 | }
59 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/activity/logicutils/AccountUtils.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.activity.logicutils;
2 |
3 | import com.bailiangjin.utilslibrary.constant.SuperSPKey;
4 | import com.bailiangjin.utilslibrary.utils.SPUtils;
5 | import com.bailiangjin.demo.constants.SPKey;
6 |
7 | /**
8 | * Author: liangjin.bai
9 | * Email: bailiangjin@gmail.com
10 | * Create Time: 2015/12/10 14:09
11 | */
12 | public class AccountUtils {
13 |
14 | /**
15 | * 账户信息登出
16 | *
17 | * @return
18 | */
19 | public static boolean logout() {
20 |
21 | // SPUtils.remove(SuperSPKey.USER_NAME);
22 | //清空存储的密码
23 | SPUtils.remove(SPKey.PASSWORD);
24 | //清空是否清楚密码勾选框状态
25 | SPUtils.remove(SPKey.SAVEPWD);
26 | return true;
27 | }
28 |
29 |
30 | /**
31 | * 保存登录信息
32 | *
33 | * @param userName 用户名
34 | * @param password 密码
35 | * @param isSavePassword 是否记住密码
36 | */
37 | public static void saveLoginInfo(String userName, String password, boolean isSavePassword) {
38 | SPUtils.putString(SuperSPKey.USER_NAME, userName);
39 | SPUtils.putString(SuperSPKey.PASSWORD, isSavePassword ? password : "");
40 | SPUtils.putBoolean(SuperSPKey.SAVEPWD, isSavePassword);
41 |
42 | }
43 |
44 | public static String getUserName() {
45 | return SPUtils.getString(SuperSPKey.USER_NAME);
46 | }
47 |
48 | public static String getPassword() {
49 | return SPUtils.getString(SuperSPKey.PASSWORD);
50 | }
51 |
52 | public static boolean isSavePassword() {
53 | return SPUtils.getBoolean(SuperSPKey.SAVEPWD);
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/aliandroidguide/Test.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.aliandroidguide;
2 |
3 | /**
4 | * TODD:添加类注释
5 | *
6 | * @author bailiangjin
7 | * @date 2018/3/6
8 | */
9 |
10 | public class Test {
11 | }
12 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/aliandroidguide/broadcast/ILocalBroadcastservice.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.aliandroidguide.broadcast;
2 |
3 | import android.content.Context;
4 | import android.support.v4.content.LocalBroadcastManager;
5 |
6 | /**
7 | * TODD:添加类注释
8 | *
9 | * @author bailiangjin
10 | * @date 2018/3/6
11 | */
12 |
13 | public interface ILocalBroadcastservice {
14 |
15 |
16 | /**
17 | * 获取 LocalBroadcastManager
18 | * @param appContext app全局上下文
19 | * @return
20 | */
21 | LocalBroadcastManager getLocalBroadcastManager(Context appContext);
22 | }
23 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/aliandroidguide/broadcast/LocalBroadcastService.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.aliandroidguide.broadcast;
2 |
3 | import android.content.Context;
4 | import android.support.v4.content.LocalBroadcastManager;
5 |
6 | /**
7 | * TODD:添加类注释
8 | *
9 | * @author bailiangjin
10 | * @date 2018/3/6
11 | */
12 |
13 | public class LocalBroadcastService implements ILocalBroadcastservice{
14 |
15 |
16 | @Override
17 | public LocalBroadcastManager getLocalBroadcastManager(Context appContext) {
18 | LocalBroadcastManager localBroadcastManager=getLocalBroadcastManager(appContext);
19 | return localBroadcastManager;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/app/AppManager.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.app;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 |
6 | import com.bailiangjin.demo.R;
7 |
8 | /**
9 | * 应用程序Activity管理类:用于Activity管理和应用程序
10 | */
11 | public class AppManager {
12 | // 用来存放所有打开的activity,以便退出便利关闭
13 |
14 | private static AppManager instance;
15 |
16 | private AppManager() {
17 | }
18 |
19 | /**
20 | * 单一实例
21 | */
22 | public static AppManager getInstance() {
23 | if (instance == null) {
24 | synchronized (AppManager.class) {
25 | instance = new AppManager();
26 | }
27 |
28 | }
29 | return instance;
30 | }
31 |
32 | /**
33 | * activity 启动
34 | *
35 | * @param activity
36 | * @param intent
37 | */
38 | public void startActivity(Activity activity, Intent intent) {
39 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
40 | // appIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
41 | activity.startActivity(intent);
42 | activity.overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
43 | }
44 | //
45 | // public void startActivityForResult(Activity activity, Intent intent, int requestCode) {
46 | // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
47 | // activity.startActivityForResult(intent, requestCode);
48 | // activity.overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
49 | // }
50 |
51 |
52 |
53 |
54 | // /**
55 | // * 注销当前账户
56 | // */
57 | // public void logout() {
58 | // try {
59 | // finishAllActivityExceptLoginAndMain();
60 | // } catch (Exception e) {
61 | // }
62 | // }
63 |
64 | // /**
65 | // * 被踢出群
66 | // */
67 | // public void kickOut(boolean isConnect)
68 | // {
69 | // ArrayList finishList = new ArrayList();
70 | // if (isConnect)
71 | // {
72 | // for (int i = 0, size = list_activity.size(); i < size; i++)
73 | // {
74 | // if (null != list_activity.get(i) && !(list_activity.get(i) instanceof MainActivity))
75 | // {
76 | // finishList.add(list_activity.get(i));
77 | // list_activity.get(i).finish();
78 | // }
79 | // }
80 | // }
81 | // else
82 | // {
83 | // for (int i = 0, size = list_activity.size(); i < size; i++)
84 | // {
85 | // if (null != list_activity.get(i) && !(list_activity.get(i) instanceof LoginActivity))
86 | // {
87 | // finishList.add(list_activity.get(i));
88 | // list_activity.get(i).finish();
89 | // }
90 | // }
91 | // }
92 | // list_activity.removeAll(finishList);
93 | // }
94 |
95 | }
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/base/BaseFragment.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.base;
2 |
3 | import android.view.View;
4 |
5 | import com.bailiangjin.uilibrary.fragment.SuperBaseFragment;
6 |
7 |
8 | /**
9 | * Author: liangjin.bai
10 | * Email: bailiangjin@gmail.com
11 | * Create Time: 2015/10/12 11:39
12 | */
13 | public abstract class BaseFragment extends SuperBaseFragment {
14 |
15 | @Override
16 | public String getScreenId() {
17 | return null;
18 | }
19 |
20 | @Override
21 | public void onScreenResume(String screenId) {
22 |
23 | }
24 |
25 | @Override
26 | protected void beforeViewBind() {
27 |
28 | }
29 |
30 | @Override
31 | protected void initListener() {
32 |
33 | }
34 |
35 | @Override
36 | protected void bindView(View view) {
37 |
38 | }
39 |
40 | @Override
41 | protected void unBindView() {
42 |
43 | }
44 |
45 |
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/config/EnumInterFace.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.config;
2 |
3 | /**
4 | * 使用接口组织枚举
5 | *
6 | * @author blj
7 | *
8 | */
9 | public interface EnumInterFace
10 | {
11 | enum Coffee implements EnumInterFace
12 | {
13 | BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
14 | }
15 |
16 | enum Visiable implements EnumInterFace
17 | {
18 | VISIABLE, GONE, INVISIABLE
19 | }
20 |
21 | enum Dessert implements EnumInterFace
22 | {
23 | FRUIT, CAKE, GELATO
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/config/UrlUtils.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.config;
2 |
3 | import com.bailiangjin.demo.R;
4 | import com.bailiangjin.demo.MyApplication;
5 |
6 |
7 | /**
8 | * Url Tools
9 | * Author: liangjin.bai
10 | * Email: bailiangjin@gmail.com
11 | * Create Time: 2015/9/22 17:46
12 | */
13 | public class UrlUtils {
14 |
15 |
16 | /**
17 | * get collect base url
18 | *
19 | * @return
20 | */
21 | public static String getBaseUrl() {
22 | return MyApplication.getContext().getResources().getString(R.string.collectUrl);
23 |
24 | }
25 |
26 | /**
27 | * get H5 base url
28 | *
29 | * @return
30 | */
31 | public static String getBaseUrl2() {
32 | return MyApplication.getContext().getResources().getString(R.string.ccUrl);
33 |
34 | }
35 |
36 |
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/constants/BroadcastAction.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.constants;
2 |
3 | import com.bailiangjin.utilslibrary.constant.SuperBroadcastAction;
4 |
5 | /**
6 | * Author: liangjin.bai
7 | * Email: bailiangjin@gmail.com
8 | * Create Time: 2015/10/13 16:34
9 | */
10 | public class BroadcastAction extends SuperBroadcastAction {
11 | /**
12 | * 数据推送广播Action
13 | */
14 | public static final String PUSH_DATA_ACTION = "data.push.action";
15 | /**
16 | * 应用升级广播Action
17 | */
18 | public static final String NEW_VERSION_ACTION = "apk.update.action";
19 | }
20 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/constants/IntentKey.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.constants;
2 |
3 | /**
4 | * intent 传值的 key
5 | * 作者:bailiangjin bailiangjin@gmail.com
6 | * 创建时间:16/2/18 13:25
7 | */
8 | public class IntentKey {
9 |
10 | /**
11 | * 用户名
12 | */
13 | public static final String USER_NAME = "USER_NAME";
14 |
15 | /**
16 | * 密码
17 | */
18 | public static final String PASSWORD = "PASSWORD";
19 |
20 | /**
21 | * isNewUser 是否为新用户
22 | */
23 | public static final String IS_NEW_USER = "IS_NEW_USER";
24 | }
25 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/constants/LoginResult.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.constants;
2 |
3 | /**
4 | * 登录结果状态码
5 | *
6 | * @author blj
7 | *
8 | */
9 | public final class LoginResult
10 | {
11 | // SUCCESS,FAILED,ERRROR
12 | /**
13 | * 登录成功
14 | */
15 | public static final int SUCCESS = 100;
16 | /**
17 | * 登录失败
18 | */
19 | public static final int FAILED = 101;
20 | /**
21 | * 登录异常
22 | */
23 | public static final int ERRROR = 102;
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/constants/SPKey.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.constants;
2 |
3 | import com.bailiangjin.utilslibrary.constant.SuperSPKey;
4 |
5 | /**
6 | *
7 | SharedPreferences 键值类
8 | *
9 | * @author blj
10 | *
11 | */
12 | public class SPKey extends SuperSPKey
13 | {
14 | }
15 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/db/MySQLiteOpenHelper.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.db;
2 |
3 | import android.content.Context;
4 | import android.database.Cursor;
5 | import android.database.sqlite.SQLiteDatabase;
6 | import android.database.sqlite.SQLiteDatabase.CursorFactory;
7 | import android.database.sqlite.SQLiteOpenHelper;
8 |
9 | public class MySQLiteOpenHelper extends SQLiteOpenHelper
10 | {
11 |
12 | public static final String DATABASE_NAME = "build.db";
13 | private static final int DATABASE_VERSION = 1;
14 | private static final String TABLE_PERSON = "person";
15 | private SQLiteDatabase db = null;
16 | private Cursor cursor = null;
17 |
18 | public MySQLiteOpenHelper(Context context, String name, CursorFactory factory, int version)
19 | {
20 | super(context, name, factory, version);
21 | db = this.getWritableDatabase();
22 | }
23 |
24 | public MySQLiteOpenHelper(Context context)
25 | {
26 | super(context, DATABASE_NAME, null, DATABASE_VERSION);
27 | db = this.getWritableDatabase();
28 | }
29 |
30 | @Override
31 | public void onCreate(SQLiteDatabase db)
32 | {
33 | this.db = db;
34 | db.execSQL("CREATE TABLE " + TABLE_PERSON + " (" + "id" + " text not null, " + "name" + " text not null, "
35 | + "age" + " text" + ");");
36 |
37 | }
38 |
39 | @Override
40 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
41 | {
42 | // TODO Auto-generated method stub
43 |
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/db/dao/PersonDao.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.db.dao;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteDatabase;
5 |
6 | import com.bailiangjin.demo.db.MySQLiteOpenHelper;
7 | import com.bailiangjin.demo.db.modle.Person;
8 |
9 | public class PersonDao
10 | {
11 | private static PersonDao instance = null;
12 |
13 | private MySQLiteOpenHelper helper;
14 | private final String PERSON_TABLE_NAME = "PERSON";
15 |
16 | public static PersonDao getInstance(Context context)
17 | {
18 | if (null == instance)
19 | {
20 | synchronized (PersonDao.class)
21 | {
22 | if (null == instance)
23 | {
24 | instance = new PersonDao(context);
25 | }
26 | }
27 | }
28 | return instance;
29 | }
30 |
31 | private PersonDao(Context context)
32 | {
33 | helper = new MySQLiteOpenHelper(context);
34 | }
35 |
36 | public boolean insert(Person person)
37 | {
38 | SQLiteDatabase db = helper.getWritableDatabase();
39 | // db.insert(PERSON_TABLE_NAME, nullColumnHack, values)
40 |
41 | return false;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/db/modle/Person.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.db.modle;
2 |
3 | import java.io.Serializable;
4 |
5 | public class Person implements Serializable
6 | {
7 | /**
8 | *
9 | */
10 | private static final long serialVersionUID = 1L;
11 |
12 | private String id;
13 | private String name;
14 | private int age;
15 | private String sex;
16 | private String job;
17 |
18 | public String getId()
19 | {
20 | return id;
21 | }
22 |
23 | public void setId(String id)
24 | {
25 | this.id = id;
26 | }
27 |
28 | public String getName()
29 | {
30 | return name;
31 | }
32 |
33 | public void setName(String name)
34 | {
35 | this.name = name;
36 | }
37 |
38 | public int getAge()
39 | {
40 | return age;
41 | }
42 |
43 | public void setAge(int age)
44 | {
45 | this.age = age;
46 | }
47 |
48 | public String getSex()
49 | {
50 | return sex;
51 | }
52 |
53 | public void setSex(String sex)
54 | {
55 | this.sex = sex;
56 | }
57 |
58 | public String getJob()
59 | {
60 | return job;
61 | }
62 |
63 | public void setJob(String job)
64 | {
65 | this.job = job;
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/ImageLoadActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo;
2 |
3 | import android.os.Bundle;
4 | import android.widget.ImageView;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.base.BaseActivity;
8 | import com.bailiangjin.utilslibrary.utils.ui.ImageLoadUtils;
9 |
10 | /**
11 | * @author bailiangjin
12 | */
13 | public class ImageLoadActivity extends BaseActivity {
14 |
15 | ImageView iv_org;
16 | ImageView iv_round;
17 | ImageView iv_rounded_rectangle;
18 |
19 | private static final String picUrl = "https://raw.githubusercontent.com/bailiangjin/bailiangjin.github.io/master/dev/download/picture/HeadPortrait.jpeg";
20 |
21 |
22 | @Override
23 | protected int getLayoutResId() {
24 | return R.layout.activity_image_load;
25 | }
26 |
27 | @Override
28 | protected void beforeViewBind(Bundle savedInstanceState) {
29 |
30 | }
31 |
32 | @Override
33 | protected void initView(Bundle savedInstanceState) {
34 |
35 | titleBarBuilder.setTitleText("图片加载示例");
36 | iv_org = (ImageView) findViewById(R.id.iv_org);
37 | iv_round = (ImageView) findViewById(R.id.iv_round);
38 | iv_rounded_rectangle = (ImageView) findViewById(R.id.iv_rounded_rectangle);
39 |
40 | //普通加载效果
41 | ImageLoadUtils.INSTANCE.loadImageView(iv_org, picUrl);
42 | //圆形图片加载效果
43 | ImageLoadUtils.INSTANCE.loadCircleImageView(iv_round, picUrl);
44 | //圆角加载效果
45 | ImageLoadUtils.INSTANCE.loadRoundedImageView(iv_rounded_rectangle, picUrl);
46 |
47 | }
48 |
49 | @Override
50 | protected void initData(Bundle savedInstanceState) {
51 |
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/catche/CacheUtils.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.catche;
2 |
3 | import com.bailiangjin.utilslibrary.utils.app.AppUtils;
4 | import com.bailiangjin.utilslibrary.utils.file.SerializeTools;
5 | import com.bailiangjin.demo.model.TaskItemBean;
6 |
7 | /**
8 | * 封装的缓存类 可在此处添加其他数据缓存方法
9 | * Created by bailiangjin on 16/3/25.
10 | */
11 | public class CacheUtils {
12 |
13 | public static final String DEMO_CATCH_FILE = "home_page_file";
14 |
15 |
16 | /**
17 | * 缓存数据
18 | * @param taskItemBean
19 | * @return
20 | */
21 | public static boolean cacheData(TaskItemBean taskItemBean){
22 | return SerializeTools.cacheObj(AppUtils.getContext(), DEMO_CATCH_FILE,taskItemBean);
23 | }
24 |
25 | /**
26 | * 从缓存中获取 缓存数据
27 | * @return
28 | */
29 | public static TaskItemBean getCacheData(){
30 | return SerializeTools.getObj(AppUtils.getContext(), DEMO_CATCH_FILE, TaskItemBean.class);
31 | }
32 |
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dbtest/DatabaseActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dbtest;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 | import android.view.View;
6 |
7 | import com.bailiangjin.utilslibrary.utils.LogUtils;
8 | import com.bailiangjin.demo.R;
9 | import com.bailiangjin.demo.base.BaseActivity;
10 | import com.bailiangjin.demo.db.dao.PersonDao;
11 | import com.bailiangjin.demo.db.modle.Person;
12 |
13 | public class DatabaseActivity extends BaseActivity {
14 |
15 |
16 | private static final int INSERT_USER_MSG_WHAT = 101;
17 | private static final int UPDATE_USER_MSG_WHAT = 102;
18 | private static final int DELETE_USER_MSG_WHAT = 103;
19 | private static final int SEARCH_USER_MSG_WHAT = 104;
20 |
21 | @Override
22 | protected int getLayoutResId() {
23 | return R.layout.activity_database;
24 | }
25 |
26 | @Override
27 | protected void beforeViewBind(Bundle savedInstanceState) {
28 |
29 | }
30 |
31 | @Override
32 | protected void initView(Bundle savedInstanceState) {
33 | titleBarBuilder.setTitleText("测试数据库");
34 | }
35 |
36 | @Override
37 | protected void initData(Bundle savedInstanceState) {
38 |
39 | }
40 |
41 |
42 | public void onClick_insert(View v) {
43 |
44 | LogUtils.d("执行插入操作");
45 |
46 | }
47 |
48 | public void onClick_update(View v) {
49 |
50 | LogUtils.d("执行更新操作");
51 |
52 | }
53 |
54 | public void onClick_delete(View v) {
55 |
56 | LogUtils.d("执行删除操作");
57 |
58 | }
59 |
60 | public void onClick_search(View v) {
61 |
62 | LogUtils.d("执行搜索操作");
63 |
64 | }
65 |
66 |
67 | @Override
68 | protected void handleMsg(Message msg) {
69 | switch (msg.what) {
70 | case INSERT_USER_MSG_WHAT:
71 |
72 | if (null != msg.obj && msg.obj instanceof Person) {
73 | PersonDao dao = PersonDao.getInstance(DatabaseActivity.this);
74 | if (dao.insert((Person) msg.obj)) {
75 | LogUtils.d("插入数据成功:" + Person.class.getName());
76 | }
77 | } else {
78 | LogUtils.e("插入数据类型错误,为null或不是:" + Person.class.getName());
79 | }
80 |
81 | break;
82 | case UPDATE_USER_MSG_WHAT:
83 | break;
84 | case DELETE_USER_MSG_WHAT:
85 | break;
86 | case SEARCH_USER_MSG_WHAT:
87 | break;
88 |
89 | default:
90 | break;
91 | }
92 | super.handleMsg(msg);
93 | }
94 |
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/DetailActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.base.BaseActivity;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2015/12/29 11:14
13 | */
14 | public class DetailActivity extends BaseActivity{
15 | @Override
16 | protected int getLayoutResId() {
17 | return R.layout.activity_dynamic;
18 | }
19 |
20 | @Override
21 | protected void beforeViewBind(Bundle savedInstanceState) {
22 |
23 | }
24 |
25 | @Override
26 | protected void initView(Bundle savedInstanceState) {
27 | // getIntent().getStringExtra("name");
28 |
29 | shortToast("detail page:" + getIntent().getStringExtra("name"));
30 |
31 | }
32 |
33 | @Override
34 | protected void initData(Bundle savedInstanceState) {
35 |
36 | }
37 |
38 |
39 |
40 | @Override
41 | protected void handleMsg(Message msg) {
42 |
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/adapter/AbsBaseBtnGroupAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.adapter;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.BaseAdapter;
8 | import android.widget.TextView;
9 |
10 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
11 |
12 | import java.util.List;
13 |
14 | /**
15 | * 抽象类
16 | * 按钮列表Adapter基类
17 | * 子类只需设置引用的 条目layoutResId 和文本TextView ResId 即可 如没有文本条目 子类 getItemTvResId 请返回-1
18 | * Author: liangjin.bai
19 | * Email: bailiangjin@gmail.com
20 | * Create Time: 2015/12/28 16:09
21 | */
22 | public abstract class AbsBaseBtnGroupAdapter extends BaseAdapter {
23 |
24 | private LayoutInflater mInflater;
25 | private int itemLayoutResId;
26 | private int itemTvResId;
27 |
28 | private List list;
29 |
30 |
31 | public AbsBaseBtnGroupAdapter(Context context, List list) {
32 | this.list = list;
33 | this.itemLayoutResId = getItemLayoutResId();
34 | this.itemTvResId = getItemTvResId();
35 | mInflater = LayoutInflater.from(context);
36 | }
37 |
38 |
39 | @Override
40 | public int getCount() {
41 | return null == list ? 0 : list.size();
42 | }
43 |
44 | @Override
45 | public Object getItem(int position) {
46 | return null == list && !list.isEmpty() ? null : list.get(position);
47 | }
48 |
49 | @Override
50 | public long getItemId(int position) {
51 | return position;
52 | }
53 |
54 | @Override
55 | public View getView(int position, View convertView, ViewGroup parent) {
56 | convertView = mInflater.inflate(itemLayoutResId, null);
57 |
58 | //找到条目的文本字段 给该TV设置文本内容 如没有文本条目 子类 getItemTvResId 请返回-1
59 | if (0 != itemTvResId && -1 != itemTvResId) {
60 | TextView mTextView = (TextView) convertView.findViewById(itemTvResId);
61 | mTextView.setText((CharSequence) list.get(position).getIndexText());
62 | }
63 |
64 | return convertView;
65 | }
66 |
67 | /**
68 | * 获取条目layoutid
69 | *
70 | * @return
71 | */
72 | protected abstract int getItemLayoutResId();
73 |
74 | /**
75 | * 获取条目 文本id 如没有文本条目 子类 getItemTvResId 请返回-1
76 | *
77 | * @return
78 | */
79 | protected abstract int getItemTvResId();
80 | }
81 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/adapter/BtnPhotoGroupAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.adapter;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.R;
6 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | * 拍照按钮适配器
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/28 16:09
15 | */
16 | public class BtnPhotoGroupAdapter extends AbsBaseBtnGroupAdapter {
17 |
18 |
19 | public BtnPhotoGroupAdapter(Context context, List list) {
20 | super(context, list);
21 | }
22 |
23 | @Override
24 | protected int getItemLayoutResId() {
25 | return R.layout.item_btn_photo_gridview;
26 | }
27 |
28 | @Override
29 | protected int getItemTvResId() {
30 | return R.id.tv_name;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/adapter/BtnSkipGroupAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.adapter;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.R;
6 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | * 跳转页面按钮适配器
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/28 16:09
15 | */
16 | public class BtnSkipGroupAdapter extends AbsBaseBtnGroupAdapter {
17 |
18 |
19 | public BtnSkipGroupAdapter(Context context, List list) {
20 | super(context, list);
21 | }
22 |
23 | @Override
24 | protected int getItemLayoutResId() {
25 | return R.layout.item_btn_skip_gridview;
26 | }
27 |
28 | @Override
29 | protected int getItemTvResId() {
30 | return R.id.tv_name;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/databean/ClassDataBean.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.databean;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * 采集大类 Json数据 实体类
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/26 15:54
10 | */
11 | public class ClassDataBean {
12 |
13 | /**
14 | * 采集品类id
15 | */
16 | private String id;
17 |
18 | /**
19 | * 采集大类名称
20 | */
21 | private String name;
22 | /**
23 | * 该采集类包含的小类采集页面 List
24 | */
25 | private List pageDataBeanList;
26 |
27 | public String getId() {
28 | return id;
29 | }
30 |
31 | public void setId(String id) {
32 | this.id = id;
33 | }
34 |
35 | public String getName() {
36 | return name;
37 | }
38 |
39 | public void setName(String name) {
40 | this.name = name;
41 | }
42 |
43 | public List getPageDataBeanList() {
44 | return pageDataBeanList;
45 | }
46 |
47 | public void setPageDataBeanList(List pageDataBeanList) {
48 | this.pageDataBeanList = pageDataBeanList;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/databean/PageDataBean.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.databean;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.ViewBean;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * 页面完整参数Bean 该类对应一个完整的动态页面
9 | *
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2015/12/28 14:23
13 | */
14 | public class PageDataBean {
15 |
16 | /**
17 | * 页面基本参数
18 | */
19 | private PageInfo pageInfo;
20 |
21 | /**
22 | * 界面元素列表
23 | */
24 | private List viewBeanList;
25 |
26 | public PageDataBean() {
27 |
28 | }
29 |
30 | public PageDataBean(PageInfo pageInfo, List viewBeanList) {
31 | this.pageInfo = pageInfo;
32 | this.viewBeanList = viewBeanList;
33 | }
34 |
35 |
36 |
37 | public PageInfo getPageInfo() {
38 | return pageInfo;
39 | }
40 |
41 | public void setPageInfo(PageInfo pageInfo) {
42 | this.pageInfo = pageInfo;
43 | }
44 |
45 | public List getViewBeanList() {
46 | return viewBeanList;
47 | }
48 |
49 | public void setViewBeanList(List viewBeanList) {
50 | this.viewBeanList = viewBeanList;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/databean/ProjectDataBean.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.databean;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * 采集项目Bean
7 | *
8 | * Author: liangjin.bai
9 | * Email: bailiangjin@gmail.com
10 | * Create Time: 2016/1/26 15:55
11 | */
12 | public class ProjectDataBean {
13 |
14 | /**
15 | * 项目id
16 | */
17 | private String id;
18 |
19 | /**
20 | * 版本号
21 | */
22 | private String versionNo;
23 |
24 | /**
25 | * 拍摄大类 List
26 | */
27 | private List classDataBeanList;
28 |
29 | public String getId() {
30 | return id;
31 | }
32 |
33 | public void setId(String id) {
34 | this.id = id;
35 | }
36 |
37 | public String getVersionNo() {
38 | return versionNo;
39 | }
40 |
41 | public void setVersionNo(String versionNo) {
42 | this.versionNo = versionNo;
43 | }
44 |
45 | public List getClassDataBeanList() {
46 | return classDataBeanList;
47 | }
48 |
49 | public void setClassDataBeanList(List classDataBeanList) {
50 | this.classDataBeanList = classDataBeanList;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/base/AbsSelectedItem.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.base;
2 |
3 | /**
4 | * Item基类 具体Item包括GroupItem 都是BaseItem的子类
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2016/1/6 16:05
8 | */
9 | public abstract class AbsSelectedItem extends BaseItem{
10 | private boolean selected;
11 |
12 | public boolean isSelected() {
13 | return selected;
14 | }
15 |
16 | public void setSelected(boolean selected) {
17 | this.selected = selected;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/base/ExtraParam.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.base;
2 |
3 | /**
4 | * 扩展字段 类 以后改动的扩展字段可以统一从此处添加
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2016/1/20 11:19
8 | */
9 | public class ExtraParam {
10 |
11 |
12 |
13 |
14 | private String extra1;
15 | private String extra2;
16 | private String extra3;
17 | private String extra4;
18 |
19 | private String extra5;
20 |
21 |
22 | public String getExtra1() {
23 | return extra1;
24 | }
25 |
26 | public void setExtra1(String extra1) {
27 | this.extra1 = extra1;
28 | }
29 |
30 | public String getExtra2() {
31 | return extra2;
32 | }
33 |
34 | public void setExtra2(String extra2) {
35 | this.extra2 = extra2;
36 | }
37 |
38 | public String getExtra3() {
39 | return extra3;
40 | }
41 |
42 | public void setExtra3(String extra3) {
43 | this.extra3 = extra3;
44 | }
45 |
46 | public String getExtra4() {
47 | return extra4;
48 | }
49 |
50 | public void setExtra4(String extra4) {
51 | this.extra4 = extra4;
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/group/BtnGroup.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.group;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * 按钮群组 GridView
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2016/1/6 16:12
14 | */
15 | public class BtnGroup extends BaseItem {
16 |
17 | private int btnGroupType;
18 |
19 | private List btnList;
20 |
21 | public List getBtnList() {
22 | return btnList;
23 | }
24 |
25 | public void setBtnList(List btnList) {
26 | this.btnList = btnList;
27 | }
28 |
29 | public int getBtnGroupType() {
30 | return btnGroupType;
31 | }
32 |
33 | public void setBtnGroupType(int btnGroupType) {
34 | this.btnGroupType = btnGroupType;
35 | }
36 |
37 | @Override
38 | public void setDefaultViewType() {
39 |
40 | setViewType(ViewType.BTN_GROUP);
41 | }
42 |
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/group/CBGroup.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.group;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.CBItem;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * CheckBox Group
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2016/1/6 16:09
14 | */
15 | public class CBGroup extends BaseItem {
16 |
17 | private List cbList;
18 |
19 | public List getCbList() {
20 |
21 | return cbList;
22 | }
23 |
24 | public void setCbList(List cbList) {
25 | this.cbList = cbList;
26 | }
27 |
28 | @Override
29 | public void setDefaultViewType() {
30 | setViewType(ViewType.CB_GROUP);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/group/RBGroup.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.group;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.RBItem;
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * RadioButton Group
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2016/1/6 16:08
14 | */
15 | public class RBGroup extends BaseItem {
16 |
17 | private List rbList;
18 |
19 | public List getRbList() {
20 | return rbList;
21 | }
22 |
23 | public void setRbList(List rbList) {
24 | this.rbList = rbList;
25 | }
26 |
27 | @Override
28 | public void setDefaultViewType() {
29 | setViewType(ViewType.RB_GROUP);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/item/CBItem.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.item;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.AbsSelectedItem;
5 |
6 | /**
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/6 16:07
10 | */
11 | public class CBItem extends AbsSelectedItem {
12 | @Override
13 | public void setDefaultViewType() {
14 | setViewType(ViewType.CB);
15 | }
16 |
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/item/EditTextItem.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.item;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
5 |
6 | /**
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/6 16:00
10 | */
11 | public class EditTextItem extends BaseItem {
12 | private String content;
13 | private String hint;
14 |
15 |
16 | @Override
17 | public void setDefaultViewType() {
18 | setViewType(ViewType.ET);
19 | }
20 |
21 | public String getContent() {
22 | return content;
23 | }
24 |
25 | public void setContent(String content) {
26 | this.content = content;
27 | }
28 |
29 | public String getHint() {
30 | return hint;
31 | }
32 |
33 | public void setHint(String hint) {
34 | this.hint = hint;
35 | }
36 |
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/item/RBItem.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.item;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.AbsSelectedItem;
5 |
6 | /**
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/6 16:03
10 | */
11 | public class RBItem extends AbsSelectedItem {
12 |
13 | @Override
14 | public void setDefaultViewType() {
15 | setViewType(ViewType.RB);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/item/TextItem.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.item;
2 |
3 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.type.ViewType;
4 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
5 |
6 | /**
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/6 15:57
10 | */
11 | public class TextItem extends BaseItem {
12 |
13 | /**
14 | * 文本样式类型
15 | */
16 | private int txtType;
17 |
18 | /**
19 | * 内容类型 普通文本/邮箱/密码 等等
20 | */
21 | private int contentType;
22 |
23 | public int getTxtType() {
24 | return txtType;
25 | }
26 |
27 | public void setTxtType(int txtType) {
28 | this.txtType = txtType;
29 | }
30 |
31 |
32 | @Override
33 | public void setDefaultViewType() {
34 | setViewType(ViewType.TEXT);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/type/BtnGroupType.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.type;
2 |
3 | /**
4 | * 按钮 Group 类型
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2016/1/21 14:19
8 | */
9 | public class BtnGroupType {
10 |
11 | /**
12 | * 跳转按钮 Group
13 | */
14 | public static final int SKIP_BTN_GROUP =0;
15 |
16 | /**
17 | * 拍照按钮 Group
18 | */
19 | public static final int PHOTO_BTN_GROUP =1;
20 | }
21 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/type/BtnType.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.type;
2 |
3 | /**
4 | * 按钮类型
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2016/1/19 9:58
8 | */
9 | public class BtnType {
10 | /**
11 | * 跳转按钮
12 | */
13 | public static final int SKIP = 0;
14 |
15 | /**
16 | * 保存按钮
17 | */
18 | public static final int SAVE = 1;
19 |
20 | /**
21 | * 拍照按钮
22 | */
23 | public static final int PHOTO = 2;
24 | }
25 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/type/TxtType.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.type;
2 |
3 | /**
4 | *
5 | * 文本样式类型类
6 | *
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2016/1/18 14:08
10 | */
11 | public class TxtType {
12 |
13 | /**
14 | * 标题样式 居中
15 | */
16 | public static final int TITLE =0;
17 |
18 | /**
19 | * 分类名样式 靠左
20 | */
21 | public static final int CLASS_NAME =1;
22 |
23 | /**
24 | * 详细内容文本样式 居中 小字体
25 | */
26 | public static final int CONTENT =2;
27 | }
28 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/type/ViewBeanType.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.type;
2 |
3 | /**
4 | * ViewBean 实际条目类型类:基于基本元素组合扩展出的实际使用类型类
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2016/1/6 17:08
8 | */
9 | public class ViewBeanType {
10 |
11 | /**
12 | * 文本
13 | */
14 | public static final int TEXT = 0;
15 |
16 | /**
17 | * 输入框
18 | */
19 | public static final int ET = 1;
20 |
21 | /**
22 | * 按钮
23 | */
24 | public static final int BTN = 2;
25 |
26 | /**
27 | * RadioButton Group
28 | *
29 | */
30 | public static final int RB_GROUP = 3;
31 |
32 | /**
33 | * CheckBox Group
34 | */
35 | public static final int CB_GROUP = 4;
36 |
37 | /**
38 | * 跳转按钮 列表 基于基本元素类型 ViewType.BTN_GROUP 扩展出的具体类型
39 | */
40 | public static final int SKIP_BTN_GROUP = 5;
41 |
42 | /**
43 | * 拍照按钮 列表 基于基本元素类型 ViewType.BTN_GROUP 扩展出的具体类型
44 | */
45 | public static final int PHOTO_BTN_GROUP = 6;
46 | }
47 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/bean/viewbean/type/ViewType.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.bean.viewbean.type;
2 |
3 | /**
4 | *
5 | * View基本元素 类型
6 | * Author: liangjin.bai
7 | * Email: bailiangjin@gmail.com
8 | * Create Time: 2016/1/6 17:08
9 | */
10 | public class ViewType {
11 |
12 | /**
13 | * 文本 元素
14 | */
15 | public static final int TEXT = 0;
16 | /**
17 | * 输入框 元素
18 | */
19 | public static final int ET = 1;
20 | /**
21 | * 按钮 元素
22 | */
23 | public static final int BTN = 2;
24 | /**
25 | * RadioButton 元素
26 | */
27 | public static final int RB = 3;
28 | /**
29 | * CheckBox 元素
30 | */
31 | public static final int CB = 4;
32 |
33 | /**
34 | * Button 群组 元素
35 | */
36 | public static final int BTN_GROUP = 5;
37 | /**
38 | * RadioButton 群组 元素
39 | */
40 | public static final int RB_GROUP = 6;
41 | /**
42 | * CheckBox 群组 元素
43 | */
44 | public static final int CB_GROUP = 7;
45 |
46 |
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/callback/MyOnClickListener.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.callback;
2 |
3 | /**
4 | * 列表点击事件回调 ListView && GridVIew
5 | * Author: liangjin.bai
6 | * Email: bailiangjin@gmail.com
7 | * Create Time: 2015/12/29 11:17
8 | */
9 | public interface MyOnClickListener {
10 |
11 | /**
12 | * 点击事件
13 | *
14 | * @param position 点击位置
15 | */
16 | public void onClick(final int position);
17 | }
18 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/generater/ViewGenerator.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.generater;
2 |
3 |
4 | import android.app.Activity;
5 | import android.view.View;
6 |
7 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.group.BtnGroup;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.group.CBGroup;
9 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.group.RBGroup;
10 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
11 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.EditTextItem;
12 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.TextItem;
13 |
14 | /**
15 | *
16 | * View 生成器 接口
17 | * Author: liangjin.bai
18 | * Email: bailiangjin@gmail.com
19 | * Create Time: 2016/1/28 14:01
20 | */
21 | public interface ViewGenerator {
22 |
23 | /**
24 | * 获取 文本条目View
25 | * @param context
26 | * @param textItem
27 | * @return
28 | */
29 | public View getTextView(Activity context, TextItem textItem);
30 |
31 | /**
32 | * 获取 输入框条目View
33 | * @param context
34 | * @param editTextItem
35 | * @return
36 | */
37 | public View getEditText(Activity context, EditTextItem editTextItem);
38 |
39 | /**
40 | * 获取 按钮条目View
41 | * @param context
42 | * @param btnItem
43 | * @return
44 | */
45 | public View getButton(Activity context, BtnItem btnItem);
46 |
47 | /**
48 | * 获取 跳转按钮组条目View
49 | * @param context
50 | * @param btnGroup
51 | * @return
52 | */
53 | public View getSkipBtnGroup(Activity context, BtnGroup btnGroup);
54 |
55 | /**
56 | * 获取 拍照按钮组条目View
57 | * @param context
58 | * @param btnGroup
59 | * @return
60 | */
61 | public View getPhotoBtnGroup(Activity context, BtnGroup btnGroup);
62 |
63 | /**
64 | * 获取 单选按钮组条目View
65 | * @param context
66 | * @param rbGroup
67 | * @return
68 | */
69 | public View getRbGroup(Activity context, RBGroup rbGroup);
70 |
71 | /**
72 | * 获取 多选按钮组条目View
73 | * @param context
74 | * @param cbGroup
75 | * @return
76 | */
77 | public View getCbGroup(Activity context, CBGroup cbGroup);
78 | }
79 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/base/BaseButton.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.base;
2 |
3 | import android.content.Context;
4 | import android.widget.TextView;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
9 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
10 |
11 | /**
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/29 13:01
15 | */
16 | public abstract class BaseButton extends BaseView {
17 |
18 | private TextView tv_index;
19 |
20 | private BtnItem btnItem;
21 |
22 | public BaseButton(Context context, BaseItem baseItem) {
23 | super(context, baseItem);
24 | }
25 |
26 |
27 | @Override
28 | protected int getLayoutId() {
29 | return R.layout.ctn_button;
30 | }
31 |
32 | @Override
33 | protected void initBase(BaseItem baseItem) {
34 | btnItem= (BtnItem) baseItem;
35 | }
36 |
37 | @Override
38 | protected void initView() {
39 | tv_index= (TextView) findViewById(R.id.tv_index);
40 |
41 | tv_index.setText(btnItem.getIndexText());
42 |
43 | }
44 |
45 | @Override
46 | protected void initLogic() {
47 |
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/base/BaseCheckBox.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.base;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
6 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
7 |
8 | /**
9 | * Author: liangjin.bai
10 | * Email: bailiangjin@gmail.com
11 | * Create Time: 2015/12/29 15:34
12 | */
13 | public abstract class BaseCheckBox extends BaseView {
14 |
15 |
16 | public BaseCheckBox(Context context, BaseItem baseItem) {
17 | super(context, baseItem);
18 | }
19 |
20 | @Override
21 | protected int getLayoutId() {
22 | return 0;
23 | }
24 |
25 | @Override
26 | protected void initBase(BaseItem baseItem) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initView() {
32 |
33 | }
34 |
35 | @Override
36 | protected void initLogic() {
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/base/BaseEditText.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.base;
2 |
3 | import android.content.Context;
4 | import android.widget.EditText;
5 | import android.widget.TextView;
6 |
7 | import com.bailiangjin.demo.R;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
9 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.EditTextItem;
10 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
11 |
12 | /**
13 | * Author: liangjin.bai
14 | * Email: bailiangjin@gmail.com
15 | * Create Time: 2015/12/29 15:32
16 | */
17 | public abstract class BaseEditText extends BaseView {
18 |
19 | private TextView tv_index;
20 | private EditText editText;
21 |
22 | private EditTextItem editTextItem;
23 |
24 |
25 | public BaseEditText(Context context, BaseItem baseItem) {
26 | super(context, baseItem);
27 | }
28 |
29 |
30 | @Override
31 | protected int getLayoutId() {
32 | return R.layout.ctn_edittext;
33 | }
34 |
35 | @Override
36 | protected void initBase(BaseItem baseItem) {
37 |
38 | editTextItem = (EditTextItem) baseItem;
39 | }
40 |
41 | @Override
42 | protected void initView() {
43 | tv_index = (TextView) findViewById(R.id.tv_index);
44 | editText = (EditText) findViewById(R.id.et_input);
45 |
46 |
47 | tv_index.setText(editTextItem.getIndexText());
48 | editText.setText(editTextItem.getContent());
49 | editText.setHint(editTextItem.getHint());
50 | }
51 |
52 | @Override
53 | protected void initLogic() {
54 |
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/base/BaseGridView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.base;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
6 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
7 |
8 | import java.util.List;
9 |
10 | /**
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2015/12/29 14:07
14 | */
15 | public abstract class BaseGridView extends BaseView {
16 |
17 | private List btnList;
18 |
19 | public BaseGridView(Context context, BaseItem baseItem) {
20 | super(context, baseItem);
21 | }
22 |
23 |
24 | @Override
25 | protected int getLayoutId() {
26 | return 0;
27 | }
28 |
29 | @Override
30 | protected void initBase(BaseItem baseItem) {
31 |
32 | }
33 |
34 | @Override
35 | protected void initView() {
36 |
37 | }
38 |
39 | @Override
40 | protected void initLogic() {
41 |
42 | }
43 |
44 | public List getBtnList() {
45 | return btnList;
46 | }
47 |
48 | public void setBtnList(List btnList) {
49 | this.btnList = btnList;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/base/BaseTextView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.base;
2 |
3 | import android.content.Context;
4 | import android.widget.TextView;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.TextItem;
9 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
10 |
11 | /**
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/29 14:05
15 | */
16 | public abstract class BaseTextView extends BaseView {
17 |
18 | private TextView tv_index;
19 | private TextItem textItem;
20 |
21 |
22 | public BaseTextView(Context context, TextItem textItem) {
23 | super(context, textItem);
24 | }
25 |
26 | @Override
27 | protected int getLayoutId() {
28 | return R.layout.ctn_textview;
29 | }
30 |
31 |
32 | /**
33 | * 将父类转为子类 加载初始化View之前的逻辑
34 | *
35 | * @param baseItem
36 | */
37 | @Override
38 | protected void initBase(BaseItem baseItem) {
39 | textItem = (TextItem) baseItem;
40 | }
41 |
42 | @Override
43 | protected void initView() {
44 | tv_index = (TextView) findViewById(R.id.tv_index);
45 | // tv_index.setGravity(Gravity.CENTER_HORIZONTAL);
46 |
47 | //
48 | // int gravity = 0 != textItem.getGravity() && -1 != textItem.getGravity() ? textItem.getGravity() : getGravity();
49 | // tv_index.setGravity(gravity);
50 | //
51 | // int textSize = (0 != textItem.getIndexTextSize() && -1 != textItem.getIndexTextSize()) ? textItem.getIndexTextSize() : getTextSize();
52 | // tv_index.setTextSize(textSize);
53 |
54 | tv_index.setGravity(getGravity());
55 |
56 | tv_index.setTextSize(getTextSize());
57 |
58 | tv_index.setText(textItem.getIndexText());
59 |
60 |
61 | }
62 |
63 | @Override
64 | protected void initLogic() {
65 |
66 |
67 | }
68 |
69 | /**
70 | * 获取默认 重力方向
71 | *
72 | * @return
73 | */
74 | protected abstract int getGravity();
75 |
76 | /**
77 | * 获取默认文字大小
78 | *
79 | * @return
80 | */
81 | protected abstract int getTextSize();
82 |
83 |
84 | }
85 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/MyCheckboxGroup.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
6 | import com.bailiangjin.demo.demo.dynamic.view.root.BaseView;
7 |
8 | /**
9 | * Author: liangjin.bai
10 | * Email: bailiangjin@gmail.com
11 | * Create Time: 2016/1/4 17:48
12 | */
13 | public class MyCheckboxGroup extends BaseView {
14 |
15 |
16 | public MyCheckboxGroup(Context context, BaseItem baseItem) {
17 | super(context, baseItem);
18 | }
19 |
20 | @Override
21 | protected int getLayoutId() {
22 | return 0;
23 | }
24 |
25 | @Override
26 | protected void initBase(BaseItem baseItem) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initView() {
32 |
33 | }
34 |
35 | @Override
36 | protected void initLogic() {
37 |
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/button/SaveButton.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.button;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
6 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseButton;
7 |
8 | /**
9 | * 保存按钮
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2016/1/28 15:30
13 | */
14 | public class SaveButton extends BaseButton {
15 | public SaveButton(Context context, BaseItem baseItem) {
16 | super(context, baseItem);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/et/CommonEditText.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.et;
2 |
3 | import android.content.Context;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
6 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseEditText;
7 |
8 | /**
9 | * 普通输入框
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2016/1/28 15:43
13 | */
14 | public class CommonEditText extends BaseEditText{
15 | public CommonEditText(Context context, BaseItem baseItem) {
16 | super(context, baseItem);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/group/PhotoBtnGridView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.group;
2 |
3 | import android.app.Activity;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.DetailActivity;
6 | import com.bailiangjin.demo.demo.dynamic.adapter.AbsBaseBtnGroupAdapter;
7 | import com.bailiangjin.demo.demo.dynamic.adapter.BtnPhotoGroupAdapter;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
9 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
10 | import com.bailiangjin.demo.demo.dynamic.callback.MyOnClickListener;
11 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseGridViewNew;
12 | import com.bailiangjin.demo.utils.ActivityUtils;
13 |
14 | import java.util.HashMap;
15 | import java.util.List;
16 |
17 | /**
18 | * Author: liangjin.bai
19 | * Email: bailiangjin@gmail.com
20 | * Create Time: 2016/1/28 15:52
21 | */
22 | public class PhotoBtnGridView extends BaseGridViewNew {
23 |
24 |
25 | public PhotoBtnGridView(Activity context, BaseItem baseItem) {
26 | super(context, baseItem);
27 | }
28 |
29 |
30 | @Override
31 | protected MyOnClickListener getOnClickCallback(final Activity baseActivity, final List btnItemList) {
32 | return new MyOnClickListener() {
33 | @Override
34 | public void onClick(int position) {
35 | BtnItem item = btnItemList.get(position);
36 | HashMap paramMap = new HashMap<>();
37 | paramMap.put("name", item.getIndexText());
38 | ActivityUtils.startActivity(baseActivity, DetailActivity.class, paramMap);
39 |
40 | }
41 | };
42 | }
43 |
44 | @Override
45 | protected AbsBaseBtnGroupAdapter getAdapter(Activity context, List btnItemList) {
46 | return new BtnPhotoGroupAdapter(baseActivity, btnItemList);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/group/SkipBtnGridView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.group;
2 |
3 | import android.app.Activity;
4 |
5 | import com.bailiangjin.demo.demo.dynamic.DetailActivity;
6 | import com.bailiangjin.demo.demo.dynamic.adapter.AbsBaseBtnGroupAdapter;
7 | import com.bailiangjin.demo.demo.dynamic.adapter.BtnSkipGroupAdapter;
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
9 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.BtnItem;
10 | import com.bailiangjin.demo.demo.dynamic.callback.MyOnClickListener;
11 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseGridViewNew;
12 | import com.bailiangjin.demo.utils.ActivityUtils;
13 |
14 | import java.util.HashMap;
15 | import java.util.List;
16 |
17 | /**
18 | * Author: liangjin.bai
19 | * Email: bailiangjin@gmail.com
20 | * Create Time: 2016/1/28 15:52
21 | */
22 | public class SkipBtnGridView extends BaseGridViewNew {
23 |
24 |
25 | public SkipBtnGridView(Activity context, BaseItem baseItem) {
26 | super(context, baseItem);
27 | }
28 |
29 |
30 | @Override
31 | protected MyOnClickListener getOnClickCallback(final Activity context, final List btnItemList) {
32 | return new MyOnClickListener() {
33 | @Override
34 | public void onClick(int position) {
35 | BtnItem item = btnItemList.get(position);
36 | HashMap paramMap = new HashMap<>();
37 | paramMap.put("name", item.getIndexText());
38 | ActivityUtils.startActivity(context, DetailActivity.class, paramMap);
39 |
40 | }
41 | };
42 | }
43 |
44 | @Override
45 | protected AbsBaseBtnGroupAdapter getAdapter(Activity context, List btnItemList) {
46 | return new BtnSkipGroupAdapter(context, btnItemList);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/textview/ClassNameTextView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.textview;
2 |
3 | import android.content.Context;
4 | import android.view.Gravity;
5 |
6 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.TextItem;
7 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseTextView;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2016/1/19 15:19
13 | */
14 | public class ClassNameTextView extends BaseTextView {
15 |
16 |
17 | public ClassNameTextView(Context context, TextItem textItem) {
18 | super(context, textItem);
19 | }
20 |
21 | @Override
22 | protected int getGravity() {
23 | return Gravity.LEFT;
24 | }
25 |
26 | @Override
27 | protected int getTextSize() {
28 | return 16;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/textview/ContentTextView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.textview;
2 |
3 | import android.content.Context;
4 | import android.view.Gravity;
5 |
6 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.TextItem;
7 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseTextView;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2015/12/29 14:09
13 | */
14 | public class ContentTextView extends BaseTextView {
15 |
16 |
17 | public ContentTextView(Context context, TextItem textItem) {
18 | super(context, textItem);
19 | }
20 |
21 | @Override
22 | protected int getGravity() {
23 | return Gravity.CENTER;
24 | }
25 |
26 | @Override
27 | protected int getTextSize() {
28 | return 14;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/impl/textview/TitleTextView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.impl.textview;
2 |
3 | import android.content.Context;
4 | import android.view.Gravity;
5 |
6 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.item.TextItem;
7 | import com.bailiangjin.demo.demo.dynamic.view.base.BaseTextView;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2016/1/19 15:19
13 | */
14 | public class TitleTextView extends BaseTextView {
15 |
16 | public TitleTextView(Context context, TextItem textItem) {
17 | super(context, textItem);
18 | }
19 |
20 | @Override
21 | protected int getGravity() {
22 | return Gravity.CENTER;
23 | }
24 |
25 | @Override
26 | protected int getTextSize() {
27 | return 18;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/dynamic/view/root/BaseView.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.dynamic.view.root;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.view.LayoutInflater;
6 | import android.widget.FrameLayout;
7 |
8 | import com.bailiangjin.demo.demo.dynamic.bean.viewbean.base.BaseItem;
9 |
10 | /**
11 | * 所有View的基类 根类
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/29 13:11
15 | */
16 | abstract public class BaseView extends FrameLayout {
17 |
18 | private String mId;
19 | private String textContent;
20 | private String paramJson;
21 |
22 | protected Activity baseActivity;
23 |
24 | public BaseView(Context context, BaseItem baseItem) {
25 | super(context);
26 | if (context instanceof Activity) {
27 | this.baseActivity = (Activity) context;
28 | }
29 | LayoutInflater.from(context).inflate(getLayoutId(), this);
30 | initBase(baseItem);
31 | initView();
32 | initLogic();
33 | }
34 |
35 | public String getmId() {
36 | return mId;
37 | }
38 |
39 | public void setmId(String mId) {
40 | this.mId = mId;
41 | }
42 |
43 | public String getTextContent() {
44 | return textContent;
45 | }
46 |
47 | public void setTextContent(String textContent) {
48 | this.textContent = textContent;
49 | }
50 |
51 | public String getParamJson() {
52 | return paramJson;
53 | }
54 |
55 | public void setParamJson(String paramJson) {
56 | this.paramJson = paramJson;
57 | }
58 |
59 | abstract protected int getLayoutId();
60 |
61 | abstract protected void initBase(BaseItem baseItem);
62 |
63 | abstract protected void initView();
64 |
65 | abstract protected void initLogic();
66 | }
67 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/fragmentdemo/FragmentAdapterDemos.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.fragmentdemo;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 | import android.support.v4.app.FragmentManager;
6 | import android.support.v4.view.ViewPager;
7 |
8 | import com.bailiangjin.demo.R;
9 | import com.bailiangjin.demo.base.BaseActivity;
10 |
11 | /**
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/12/25 15:23
15 | */
16 | public class FragmentAdapterDemos extends BaseActivity {
17 |
18 | private ViewPager vp_images;
19 |
20 | @Override
21 | protected int getLayoutResId() {
22 | return R.layout.fragment_viewpager_demo;
23 | }
24 |
25 | @Override
26 | protected void beforeViewBind(Bundle savedInstanceState) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initView(Bundle savedInstanceState) {
32 | vp_images = (ViewPager) findViewById(R.id.vp_images);
33 | FragmentManager fm = getSupportFragmentManager();
34 | vp_images.setAdapter(new MyFragmentPagerAdapter(fm));
35 |
36 |
37 | // FragmentTransaction fragmentTransaction = fm.beginTransaction();
38 | //
39 | //// fragmentTransaction.replace(android.R.id.content, getFragment1());
40 | //
41 | // fragmentTransaction.commit();
42 |
43 | }
44 |
45 | @Override
46 | protected void initData(Bundle savedInstanceState) {
47 |
48 | }
49 |
50 |
51 |
52 | @Override
53 | protected void handleMsg(Message msg) {
54 |
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/fragmentdemo/MyFragmentPagerAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.fragmentdemo;
2 |
3 | import android.support.v4.app.Fragment;
4 | import android.support.v4.app.FragmentManager;
5 | import android.support.v4.app.FragmentPagerAdapter;
6 | import android.view.ViewGroup;
7 |
8 | import com.bailiangjin.demo.demo.viewpager.BaseViewPagerFragment;
9 | import com.bailiangjin.demo.fragment.Fragment1;
10 | import com.bailiangjin.demo.fragment.Fragment2;
11 |
12 | /**
13 | * Author: liangjin.bai
14 | * Email: bailiangjin@gmail.com
15 | * Create Time: 2015/12/25 15:30
16 | */
17 | public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
18 |
19 | public MyFragmentPagerAdapter(FragmentManager fm) {
20 | super(fm);
21 | }
22 |
23 | @Override
24 | public void destroyItem(ViewGroup container, int position, Object object) {
25 | super.destroyItem(container, position, object);
26 | }
27 |
28 | @Override
29 | public Object instantiateItem(ViewGroup container, int position) {
30 | return super.instantiateItem(container, position);
31 | }
32 |
33 | @Override
34 | public Fragment getItem(int position) {
35 | switch (position) {
36 | case 0:
37 | return new Fragment1();
38 | case 1:
39 | return new Fragment2();
40 | case 2:
41 | return new BaseViewPagerFragment();
42 | default:
43 | return null;
44 | }
45 | }
46 |
47 | @Override
48 | public int getCount() {
49 | return 3;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/keylistener/KeyListenerActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.keylistener;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 | import android.view.KeyEvent;
6 | import android.view.View;
7 |
8 | import com.bailiangjin.demo.R;
9 | import com.bailiangjin.demo.base.BaseActivity;
10 |
11 | /**
12 | * Created by bailiangjin on 16/3/22.
13 | */
14 | public class KeyListenerActivity extends BaseActivity {
15 | @Override
16 | protected int getLayoutResId() {
17 | return R.layout.activity_keylistener;
18 | }
19 |
20 | @Override
21 | protected void beforeViewBind(Bundle savedInstanceState) {
22 |
23 | }
24 |
25 | @Override
26 | protected void initView(Bundle savedInstanceState) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initData(Bundle savedInstanceState) {
32 |
33 | }
34 |
35 |
36 |
37 | @Override
38 | protected void handleMsg(Message msg) {
39 |
40 | }
41 |
42 | public void onClick_testListen(View v){
43 | shortToast("点击了测试");
44 | }
45 |
46 | @Override
47 | public boolean onKeyDown (int keyCode, KeyEvent event) {
48 | switch (keyCode) {
49 | // int i = getCurrentRingValue (); //获取手机当前音量值
50 | case KeyEvent.KEYCODE_VOLUME_DOWN:
51 | shortToast("音量-");
52 | break;
53 |
54 | case KeyEvent.KEYCODE_VOLUME_UP:
55 | shortToast("音量+");
56 | break;
57 | case KeyEvent.KEYCODE_BACK:
58 | shortToast("返回");
59 | break;
60 | case KeyEvent.KEYCODE_MENU:
61 | shortToast("菜单");
62 | break;
63 | case KeyEvent.KEYCODE_HOME:
64 | shortToast("Home键盘");
65 | //invalid...
66 | break;
67 | default:
68 | break;
69 | }
70 | return super.onKeyDown (keyCode, event);
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/launchmode/LaunchModeActivity2.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.launchmode;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 | import android.os.Message;
6 |
7 | import com.bailiangjin.utilslibrary.utils.LogUtils;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2015/10/14 13:58
13 | */
14 | public class LaunchModeActivity2 extends LaunchModeActivity1 {
15 | // private int lastTaskId = -1;
16 |
17 | @Override
18 | protected void onNewIntent(Intent intent) {
19 | super.onNewIntent(intent);
20 | LogUtils.e("onNewIntent:test");
21 | LogUtils.e("taskId:" + getLocalClassName() + ":" + getTaskId());
22 | shortToast("onNewIntent");
23 | // lastTaskId = getIntent().getIntExtra("lastTaskId", -1);
24 | }
25 |
26 | @Override
27 | protected void onCreate(Bundle savedInstanceState) {
28 | super.onCreate(savedInstanceState);
29 | shortToast("onCreate");
30 | // lastTaskId = getIntent().getIntExtra("lastTaskId", -1);
31 | }
32 |
33 | @Override
34 | protected void onRestart() {
35 |
36 | super.onRestart();
37 |
38 | }
39 |
40 | @Override
41 | protected void onStart() {
42 | // if(!LifecycleUtils.isTaskRunning(lastTaskId)){
43 | // finish();
44 | // }
45 |
46 | super.onStart();
47 | }
48 |
49 | @Override
50 | protected void onResume() {
51 |
52 | super.onResume();
53 | }
54 |
55 | @Override
56 | protected void initView(Bundle savedInstanceState) {
57 | super.initView(savedInstanceState);
58 | titleBarBuilder.setTitleText("Activity2");
59 | }
60 |
61 |
62 | @Override
63 | protected void handleMsg(Message msg) {
64 |
65 | }
66 |
67 | @Override
68 | public void onBackPressed() {
69 | // LifecycleUtils.onBackPressedToLastTask(LaunchModeActivity2.this, lastTaskId);
70 | moveTaskToBack(true);
71 |
72 | }
73 |
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/launchmode/LaunchModeActivity3.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.launchmode;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 |
6 | /**
7 | * Author: liangjin.bai
8 | * Email: bailiangjin@gmail.com
9 | * Create Time: 2015/10/14 13:58
10 | */
11 | public class LaunchModeActivity3 extends LaunchModeActivity1 {
12 |
13 |
14 | @Override
15 | protected void initView(Bundle savedInstanceState) {
16 | super.initView(savedInstanceState);
17 | titleBarBuilder.setTitleText("Activity3");
18 |
19 | }
20 |
21 |
22 |
23 |
24 |
25 | @Override
26 | protected void handleMsg(Message msg) {
27 |
28 | }
29 |
30 |
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/launchmode/LaunchModeActivity4.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.launchmode;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 | import android.os.Message;
6 |
7 | import com.bailiangjin.uilibrary.titlebar.ItemClickListener;
8 |
9 |
10 | /**
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2015/10/14 13:58
14 | */
15 | public class LaunchModeActivity4 extends LaunchModeActivity1 {
16 |
17 |
18 | @Override
19 | protected void initView(Bundle savedInstanceState) {
20 | super.initView(savedInstanceState);
21 | titleBarBuilder.setTitleText("Activity4");
22 |
23 | titleBarBuilder.addItem("onResult", new ItemClickListener() {
24 | @Override
25 | public void onClick() {
26 | Intent intent = new Intent();
27 | setResult(1,intent);
28 | LaunchModeActivity4.this.finish();
29 | }
30 | }).build();
31 | }
32 |
33 |
34 |
35 |
36 |
37 | @Override
38 | protected void handleMsg(Message msg) {
39 |
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/networkdemo/weather/WeatherRequest.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.networkdemo.weather;
2 |
3 | import com.bailiangjin.demo.demo.networkdemo.weather.config.WeatherConfig;
4 |
5 | /**
6 | * Author: liangjin.bai
7 | * Email: bailiangjin@gmail.com
8 | * Create Time: 2015/12/11 11:22
9 | */
10 | public class WeatherRequest {
11 |
12 | private String cityId;
13 | private String cityInfoUrl;
14 | private String skUrl;
15 | private String detailUrl;
16 |
17 |
18 | public WeatherRequest(String cityId) {
19 | this.cityId = cityId;
20 | this.cityInfoUrl = WeatherConfig.cityInfoUrlPrifix + cityId + WeatherConfig.urlPostfix;
21 | this.skUrl = WeatherConfig.skUrlPrifix + cityId + WeatherConfig.urlPostfix;
22 | this.detailUrl = WeatherConfig.detailUrlPrifix + cityId + WeatherConfig.urlPostfix;
23 | }
24 |
25 | public String getCityId() {
26 | return cityId;
27 | }
28 |
29 | public String getCityInfoUrl() {
30 | return cityInfoUrl;
31 | }
32 |
33 | public String getSkUrl() {
34 | return skUrl;
35 | }
36 |
37 | public String getDetailUrl() {
38 | return detailUrl;
39 | }
40 |
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/networkdemo/weather/config/WeatherConfig.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.networkdemo.weather.config;
2 |
3 | /**
4 | * Author: liangjin.bai
5 | * Email: bailiangjin@gmail.com
6 | * Create Time: 2015/12/11 11:24
7 | */
8 | public class WeatherConfig {
9 |
10 | public static final String skUrlPrifix ="http://www.weather.com.cn/data/sk/";
11 | public static final String cityInfoUrlPrifix ="http://www.weather.com.cn/data/cityinfo/";
12 | public static final String detailUrlPrifix ="http://m.weather.com.cn/data/";
13 |
14 | public static final String urlPostfix =".html";
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/recycleview/NormalRecyclerViewAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.recycleview;
2 |
3 | import android.content.Context;
4 | import android.support.v7.widget.RecyclerView;
5 | import android.util.Log;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.TextView;
10 |
11 | import com.bailiangjin.demo.R;
12 |
13 |
14 | /**
15 | * Created by bailiangjin on 16/7/4.
16 | */
17 | public class NormalRecyclerViewAdapter extends RecyclerView.Adapter {
18 | private final LayoutInflater mLayoutInflater;
19 | private final Context mContext;
20 | private String[] mTitles;
21 |
22 | public NormalRecyclerViewAdapter(Context context) {
23 | mTitles = context.getResources().getStringArray(R.array.titles);
24 | mContext = context;
25 | mLayoutInflater = LayoutInflater.from(context);
26 | }
27 |
28 | @Override
29 | public NormalTextViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
30 | return new NormalTextViewHolder(mLayoutInflater.inflate(R.layout.item_text, parent, false));
31 | }
32 |
33 | @Override
34 | public void onBindViewHolder(NormalTextViewHolder holder, int position) {
35 | holder.mTextView.setText(mTitles[position]);
36 | }
37 |
38 | @Override
39 | public int getItemCount() {
40 | return mTitles == null ? 0 : mTitles.length;
41 | }
42 |
43 | public static class NormalTextViewHolder extends RecyclerView.ViewHolder {
44 | // @Bind(R.id.text_view)
45 | TextView mTextView;
46 |
47 | NormalTextViewHolder(View view) {
48 | super(view);
49 | // ButterKnife.bind(this, view);
50 | mTextView= (TextView) view.findViewById(R.id.text_view);
51 | view.setOnClickListener(new View.OnClickListener() {
52 | @Override
53 | public void onClick(View v) {
54 | Log.d("NormalTextViewHolder", "onClick--> position = " + getPosition());
55 | }
56 | });
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/switchnetworkstate/SwitchNetWorkStateActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.switchnetworkstate;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 | import android.view.View;
6 |
7 | import com.bailiangjin.utilslibrary.utils.device.NetUtils;
8 | import com.bailiangjin.demo.R;
9 | import com.bailiangjin.demo.base.BaseActivity;
10 |
11 | /**
12 | * Created by bailiangjin on 16/3/22.
13 | */
14 | public class SwitchNetWorkStateActivity extends BaseActivity {
15 | @Override
16 | protected int getLayoutResId() {
17 | return R.layout.activity_switch_network_state;
18 | }
19 |
20 | @Override
21 | protected void beforeViewBind(Bundle savedInstanceState) {
22 |
23 | }
24 |
25 | @Override
26 | protected void initView(Bundle savedInstanceState) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initData(Bundle savedInstanceState) {
32 |
33 | }
34 |
35 |
36 | @Override
37 | protected void handleMsg(Message msg) {
38 |
39 | }
40 |
41 |
42 | public void onClick_Switch_WiFi_open(View v) {
43 | shortToast("打开 WiFi");
44 | NetUtils.toggleWiFi(true);
45 | }
46 |
47 | public void onClick_Switch_WiFi_close(View v) {
48 | shortToast("关闭 WiFi");
49 | NetUtils.toggleWiFi(false);
50 | }
51 |
52 | public void onClick_Switch_mobile_open(View v) {
53 | shortToast("打开 移动网络");
54 | NetUtils.toggleMobileData(true);
55 | }
56 |
57 | public void onClick_Switch_mobile_close(View v) {
58 | shortToast("关闭 移动网络");
59 | NetUtils.toggleMobileData(false);
60 | }
61 |
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/viewpager/MyPagerAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.viewpager;
2 |
3 | import android.support.v4.view.PagerAdapter;
4 | import android.view.View;
5 | import android.view.ViewGroup;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * Author: liangjin.bai
11 | * Email: bailiangjin@gmail.com
12 | * Create Time: 2015/12/24 10:38
13 | */
14 | public class MyPagerAdapter extends PagerAdapter {
15 |
16 | private List pageList;
17 | private int pageCount;
18 |
19 | public MyPagerAdapter(List pageList) {
20 | this.pageList = pageList;
21 | pageCount=pageList.size();
22 | }
23 |
24 | @Override
25 | public int getCount() {
26 | if (PageUtil.isCycle) {
27 | return pageList == null ? 0 : Integer.MAX_VALUE;
28 | } else {
29 | return pageList == null ? 0 : pageList.size();
30 | }
31 | }
32 |
33 | @Override
34 | public boolean isViewFromObject(View view, Object object) {
35 | return view == object;
36 | }
37 |
38 | @Override
39 | public void destroyItem(ViewGroup container, int position, Object object) {
40 | if (PageUtil.isCycle) {
41 | position = position % pageCount;
42 | }
43 | container.removeView(pageList.get(position).getView());
44 | }
45 |
46 |
47 | @Override
48 | public Object instantiateItem(ViewGroup container, int position) {
49 | if (PageUtil.isCycle) {
50 | position = position % pageCount;
51 | }
52 | container.addView(pageList.get(position).getView());
53 | return pageList.get(position).getView();
54 | }
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/viewpager/PageUtil.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.viewpager;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.widget.ImageView;
7 |
8 | import com.bailiangjin.demo.R;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 | public class PageUtil {
14 | /**
15 | * 是否循环
16 | */
17 | public static final boolean isCycle = false;
18 |
19 | /**
20 | * 获取ViewPage适配器数据 ViewPage List
21 | *
22 | * @return
23 | */
24 | public static List getPageList(Context context) {
25 | List pageList = new ArrayList();
26 | for (int i = 0; i < 5; i++) {
27 | ViewPagerBean vpBean = new ViewPagerBean();
28 | vpBean.setTitle("Page" + (i + 1));
29 | vpBean.setLayoutResId(R.drawable.linear_login);
30 | vpBean.setView(getPageView(context, vpBean.getLayoutResId()));
31 | pageList.add(vpBean);
32 | }
33 | return pageList;
34 | }
35 |
36 |
37 | /**
38 | * 构造ViewPage页面
39 | *
40 | * @param context
41 | * @param imgResId
42 | * @return
43 | */
44 | private static View getPageView(Context context, int imgResId) {
45 | LayoutInflater inflater = LayoutInflater.from(context);
46 | View pageView = inflater.inflate(R.layout.page_item, null);
47 | ImageView imgPage = (ImageView) pageView.findViewById(R.id.imgPage);
48 | imgPage.setImageResource(imgResId);
49 | return pageView;
50 | }
51 |
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/viewpager/ViewPagerBean.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.viewpager;
2 |
3 | import android.view.View;
4 |
5 | /**
6 | * Author: liangjin.bai
7 | * Email: bailiangjin@gmail.com
8 | * Create Time: 2015/12/24 14:09
9 | */
10 | public class ViewPagerBean {
11 | /**
12 | * 标题
13 | */
14 | private String title;
15 | /**
16 | * 对应资源id
17 | */
18 | private int layoutResId;
19 | /**
20 | * view
21 | */
22 | private View view;
23 |
24 | public String getTitle() {
25 | return title;
26 | }
27 |
28 | public void setTitle(String title) {
29 | this.title = title;
30 | }
31 |
32 | public int getLayoutResId() {
33 | return layoutResId;
34 | }
35 |
36 | public void setLayoutResId(int layoutResId) {
37 | this.layoutResId = layoutResId;
38 | }
39 |
40 | public View getView() {
41 | return view;
42 | }
43 |
44 | public void setView(View view) {
45 | this.view = view;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/viewpager/ViewPagerDemoActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.viewpager;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 | import android.support.v4.app.FragmentManager;
6 | import android.support.v4.app.FragmentTransaction;
7 |
8 | import com.bailiangjin.demo.base.BaseActivity;
9 |
10 | /**
11 | * Author: liangjin.bai
12 | * Email: bailiangjin@gmail.com
13 | * Create Time: 2015/12/24 10:27
14 | */
15 | public class ViewPagerDemoActivity extends BaseActivity {
16 |
17 | private BaseViewPagerFragment fragment1;
18 |
19 | @Override
20 | protected int getLayoutResId() {
21 | return 0;
22 | }
23 |
24 | @Override
25 | protected void beforeViewBind(Bundle savedInstanceState) {
26 |
27 | }
28 |
29 | @Override
30 | protected void initView(Bundle savedInstanceState) {
31 |
32 | FragmentManager fm = getSupportFragmentManager();
33 | FragmentTransaction fragmentTransaction = fm.beginTransaction();
34 |
35 | fragmentTransaction.replace(android.R.id.content, getFragment1());
36 |
37 | fragmentTransaction.commit();
38 |
39 | }
40 |
41 | @Override
42 | protected void initData(Bundle savedInstanceState) {
43 |
44 |
45 | }
46 |
47 |
48 | @Override
49 | protected void handleMsg(Message msg) {
50 |
51 | }
52 |
53 |
54 | public BaseViewPagerFragment getFragment1() {
55 | if (fragment1 == null) {
56 | fragment1 = new BaseViewPagerFragment();
57 | }
58 | return fragment1;
59 | }
60 |
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/widget/draggridview/DragAdapter.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.widget.draggridview;
2 |
3 | import android.content.Context;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.BaseAdapter;
8 | import android.widget.TextView;
9 |
10 | import com.bailiangjin.uilibrary.view.DragGridBaseAdapter;
11 | import com.bailiangjin.demo.R;
12 | import com.bailiangjin.demo.model.TaskItemBean;
13 |
14 | import java.util.Collections;
15 | import java.util.List;
16 |
17 |
18 | public class DragAdapter extends BaseAdapter implements DragGridBaseAdapter {
19 | // private List> list;
20 | private List list;
21 | private LayoutInflater mInflater;
22 | private int mHidePosition = -1;
23 |
24 | public DragAdapter(Context context, List list){
25 | this.list = list;
26 | mInflater = LayoutInflater.from(context);
27 | }
28 |
29 | @Override
30 | public int getCount() {
31 | return list.size();
32 | }
33 |
34 | @Override
35 | public Object getItem(int position) {
36 | return list.get(position);
37 | }
38 |
39 | @Override
40 | public long getItemId(int position) {
41 | return position;
42 | }
43 |
44 | /**
45 | * 由于复用convertView导致某些item消失了,所以这里不复用item,
46 | */
47 | @Override
48 | public View getView(int position, View convertView, ViewGroup parent) {
49 | convertView = mInflater.inflate(R.layout.drag_gridview_item, null);
50 | TextView mTextView = (TextView) convertView.findViewById(R.id.item_text);
51 |
52 | mTextView.setText((CharSequence) list.get(position).getName());
53 |
54 | if(position == mHidePosition){
55 | convertView.setVisibility(View.INVISIBLE);
56 | }
57 |
58 | return convertView;
59 | }
60 |
61 |
62 | @Override
63 | public void reorderItems(int oldPosition, int newPosition) {
64 | TaskItemBean temp = list.get(oldPosition);
65 | if(oldPosition < newPosition){
66 | for(int i=oldPosition; i newPosition){
70 | for(int i=oldPosition; i>newPosition; i--){
71 | Collections.swap(list, i, i - 1);
72 | }
73 | }
74 |
75 | list.set(newPosition, temp);
76 | }
77 |
78 | @Override
79 | public void setHideItem(int hidePosition) {
80 | this.mHidePosition = hidePosition;
81 | notifyDataSetChanged();
82 | }
83 |
84 |
85 | }
86 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/widget/draggridview/DragGridViewActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.widget.draggridview;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 |
6 | import com.bailiangjin.uilibrary.view.DragGridView;
7 | import com.bailiangjin.demo.R;
8 | import com.bailiangjin.demo.model.TaskItemBean;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 |
14 | public class DragGridViewActivity extends Activity {
15 | private List dataSourceList = new ArrayList();
16 |
17 | @Override
18 | protected void onCreate(Bundle savedInstanceState) {
19 | super.onCreate(savedInstanceState);
20 | setContentView(R.layout.activity_demo_draggridview);
21 |
22 | DragGridView mDragGridView = (DragGridView) findViewById(R.id.dragGridView);
23 | for (int i = 0; i < 15; i++) {
24 | TaskItemBean taskItemBean = new TaskItemBean();
25 | taskItemBean.setName("拖拽 " + Integer.toString(i));
26 | dataSourceList.add(taskItemBean);
27 | }
28 |
29 | final DragAdapter mDragAdapter = new DragAdapter(this, dataSourceList);
30 |
31 | mDragGridView.setAdapter(mDragAdapter);
32 | }
33 |
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/demo/widget/searchbar/SearchActivity.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.demo.widget.searchbar;
2 |
3 | import android.os.Bundle;
4 | import android.os.Message;
5 |
6 | import com.bailiangjin.uilibrary.widget.SearchBarListener;
7 | import com.bailiangjin.uilibrary.widget.SearchBar;
8 | import com.bailiangjin.demo.R;
9 | import com.bailiangjin.demo.base.BaseActivity;
10 |
11 | /**
12 | * Author: liangjin.bai
13 | * Email: bailiangjin@gmail.com
14 | * Create Time: 2015/10/26 11:29
15 | */
16 | public class SearchActivity extends BaseActivity {
17 |
18 | private SearchBar searchBar;
19 |
20 | @Override
21 | protected int getLayoutResId() {
22 | return R.layout.activity_search;
23 | }
24 |
25 | @Override
26 | protected void beforeViewBind(Bundle savedInstanceState) {
27 |
28 | }
29 |
30 | @Override
31 | protected void initView(Bundle savedInstanceState) {
32 |
33 | titleBarBuilder.setTitleText("搜索");
34 |
35 |
36 | searchBar = (SearchBar) findViewById(R.id.search_bar);
37 | searchBar.setHint("请输入关键词搜索");
38 | searchBar.setSearchBarListener(new SearchBarListener() {
39 | @Override
40 | public boolean onSearch(String searchKey) {
41 | shortToast("点击了搜索");
42 | return false;
43 | }
44 |
45 | @Override
46 | public boolean onTextChange(String curTextStr) {
47 | shortToast("内容变化:" + curTextStr);
48 | return true;
49 |
50 | }
51 |
52 | @Override
53 | public boolean onCancelClick() {
54 | shortToast("点击了取消");
55 | return true;
56 | }
57 | });
58 |
59 | }
60 |
61 | @Override
62 | protected void initData(Bundle savedInstanceState) {
63 |
64 | }
65 |
66 |
67 | @Override
68 | protected void handleMsg(Message msg) {
69 |
70 | }
71 |
72 |
73 | }
74 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/fragment/Fragment1.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.fragment;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.base.BaseFragment;
8 |
9 | public class Fragment1 extends BaseFragment
10 | {
11 |
12 | @Override
13 | public void onAttach(Activity activity)
14 | {
15 | // TODO Auto-generated method stub
16 | super.onAttach(activity);
17 | }
18 |
19 | @Override
20 | public void onCreate(Bundle savedInstanceState)
21 | {
22 | // TODO Auto-generated method stub
23 | super.onCreate(savedInstanceState);
24 | }
25 |
26 | @Override
27 | public void onActivityCreated(Bundle savedInstanceState)
28 | {
29 | // TODO Auto-generated method stub
30 | super.onActivityCreated(savedInstanceState);
31 | }
32 |
33 | @Override
34 | public void onStart()
35 | {
36 | // TODO Auto-generated method stub
37 | super.onStart();
38 | }
39 |
40 | @Override
41 | public void onResume()
42 | {
43 | // TODO Auto-generated method stub
44 | super.onResume();
45 | }
46 |
47 | @Override
48 | public void onPause()
49 | {
50 | // TODO Auto-generated method stub
51 | super.onPause();
52 | }
53 |
54 | @Override
55 | public void onStop()
56 | {
57 | // TODO Auto-generated method stub
58 | super.onStop();
59 | }
60 |
61 | @Override
62 | public void onDestroyView()
63 | {
64 | // TODO Auto-generated method stub
65 | super.onDestroyView();
66 | }
67 |
68 | @Override
69 | public void onDestroy()
70 | {
71 | // TODO Auto-generated method stub
72 | super.onDestroy();
73 | }
74 |
75 | @Override
76 | public void onDetach()
77 | {
78 | // TODO Auto-generated method stub
79 | super.onDetach();
80 | }
81 |
82 | @Override
83 | protected int getLayoutResId() {
84 | return R.layout.fragment1;
85 | }
86 |
87 | @Override
88 | protected void initView() {
89 |
90 | }
91 |
92 | @Override
93 | protected void initData(Bundle savedInstanceState) {
94 |
95 | }
96 |
97 |
98 | }
99 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/fragment/Fragment2.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.fragment;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 |
6 | import com.bailiangjin.demo.R;
7 | import com.bailiangjin.demo.base.BaseFragment;
8 |
9 | public class Fragment2 extends BaseFragment
10 | {
11 |
12 |
13 | @Override
14 | protected int getLayoutResId() {
15 | return R.layout.fragment2;
16 | }
17 |
18 | @Override
19 | protected void initView() {
20 |
21 | }
22 |
23 | @Override
24 | protected void initData(Bundle savedInstanceState) {
25 |
26 | }
27 |
28 |
29 | @Override
30 | public void onAttach(Activity activity)
31 | {
32 | // TODO Auto-generated method stub
33 | super.onAttach(activity);
34 | }
35 |
36 | @Override
37 | public void onCreate(Bundle savedInstanceState)
38 | {
39 | // TODO Auto-generated method stub
40 | super.onCreate(savedInstanceState);
41 | }
42 |
43 |
44 |
45 | @Override
46 | public void onActivityCreated(Bundle savedInstanceState)
47 | {
48 | // TODO Auto-generated method stub
49 | super.onActivityCreated(savedInstanceState);
50 | }
51 |
52 | @Override
53 | public void onStart()
54 | {
55 | // TODO Auto-generated method stub
56 | super.onStart();
57 | }
58 |
59 | @Override
60 | public void onResume()
61 | {
62 | // TODO Auto-generated method stub
63 | super.onResume();
64 | }
65 |
66 | @Override
67 | public void onPause()
68 | {
69 | // TODO Auto-generated method stub
70 | super.onPause();
71 | }
72 |
73 | @Override
74 | public void onStop()
75 | {
76 | // TODO Auto-generated method stub
77 | super.onStop();
78 | }
79 |
80 | @Override
81 | public void onDestroyView()
82 | {
83 | // TODO Auto-generated method stub
84 | super.onDestroyView();
85 | }
86 |
87 | @Override
88 | public void onDestroy()
89 | {
90 | // TODO Auto-generated method stub
91 | super.onDestroy();
92 | }
93 |
94 | @Override
95 | public void onDetach()
96 | {
97 | // TODO Auto-generated method stub
98 | super.onDetach();
99 | }
100 |
101 |
102 | }
103 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/jni/NdkJniUtils.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.jni;
2 |
3 | /**
4 | * 作者:bailiangjin bailiangjin@gmail.com
5 | * 创建时间:15/10/28 22:31
6 | */
7 | public class NdkJniUtils {
8 |
9 | // static {
10 | // System.loadLibrary("testjni"); //defaultConfig.ndk.moduleName
11 | // }
12 | //
13 | // public native String getCLanguageString();
14 | }
15 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/kt/HelloKotlin.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.kt;
2 |
3 | /**
4 | * TODD:添加类注释
5 | *
6 | * @author bailiangjin
7 | * @date 2017/11/14
8 | */
9 |
10 | public class HelloKotlin {
11 | public static void main(String[] args) {
12 | new HelloWorld().greet();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/kt/HelloWorld.kt:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.kt
2 | /**
3 | * TODD:添加类注释
4 | *
5 | * @author bailiangjin
6 | *
7 | * @date 2017/11/14
8 | */
9 | class HelloWorld() {
10 | fun greet() {
11 | print("Hello")
12 | }
13 |
14 | fun main(args: Array) { // 包级可见的函数,接受一个字符串数组作为参数
15 | println("Hello World!") // 分号可以省略
16 | }
17 | }
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/model/TaskItemBean.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.model;
2 |
3 | /**
4 | * Author: liangjin.bai
5 | * Email: bailiangjin@gmail.com
6 | * Create Time: 2015/10/20 14:08
7 | */
8 | public class TaskItemBean {
9 |
10 | private String id;
11 | private String name;
12 |
13 | private int order;
14 |
15 | public String getId() {
16 | return id;
17 | }
18 |
19 | public void setId(String id) {
20 | this.id = id;
21 | }
22 |
23 | public String getName() {
24 | return name;
25 | }
26 |
27 | public void setName(String name) {
28 | this.name = name;
29 | }
30 |
31 | public int getOrder() {
32 | return order;
33 | }
34 |
35 | public void setOrder(int order) {
36 | this.order = order;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/net/HttpCallback.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.net;
2 |
3 | public interface HttpCallback {
4 | /**
5 | * 请求成功
6 | *
7 | * @param json 返回参数
8 | */
9 | void onSuccess(final String json);
10 |
11 | /**
12 | * 请求失败
13 | *
14 | * @param json 返回参数
15 | */
16 | void onFailed(final String json);
17 |
18 | /**
19 | * 请求异常
20 | *
21 | * @param json 返回参数
22 | */
23 | void onError(final String json);
24 | }
25 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/utils/image/CircleTransform.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.utils.image;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.graphics.BitmapShader;
6 | import android.graphics.Canvas;
7 | import android.graphics.Matrix;
8 | import android.graphics.Paint;
9 |
10 | import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
11 | import com.bumptech.glide.load.resource.bitmap.BitmapTransformation;
12 |
13 | /**
14 | * 圆形Transform
15 | *
16 | * @author bailiangjin
17 | *
18 | * @date 2018/4/13
19 | */
20 | public class CircleTransform extends BitmapTransformation {
21 | public CircleTransform(Context context) {
22 | super(context);
23 | }
24 |
25 | @Override
26 | protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
27 | return circleCrop(pool,toTransform);
28 | }
29 | private Bitmap circleCrop(BitmapPool pool, Bitmap source) {
30 |
31 | int size = Math.min(source.getWidth(), source.getHeight());
32 |
33 | int width = (source.getWidth() - size) / 2;
34 | int height = (source.getHeight() - size) / 2;
35 |
36 | Bitmap bitmap = pool.get(size, size, Bitmap.Config.ARGB_8888);
37 | if (bitmap == null) {
38 | bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
39 | }
40 |
41 | Canvas canvas = new Canvas(bitmap);
42 | Paint paint = new Paint();
43 | BitmapShader shader =
44 | new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
45 | if (width != 0 || height != 0) {
46 | // source isn't square, move viewport to center
47 | Matrix matrix = new Matrix();
48 | matrix.setTranslate(-width, -height);
49 | shader.setLocalMatrix(matrix);
50 | }
51 | paint.setShader(shader);
52 | paint.setAntiAlias(true);
53 |
54 | float r = size / 2f;
55 | canvas.drawCircle(r, r, r, paint);
56 |
57 | return bitmap;
58 | }
59 |
60 | @Override
61 | public String getId() {
62 | return getClass().getName();
63 | }
64 | }
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/utils/image/GetImageCacheAsyncTask.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.utils.image;
2 |
3 | import android.content.Context;
4 | import android.os.AsyncTask;
5 | import android.util.Log;
6 |
7 | import com.bumptech.glide.Glide;
8 | import com.bumptech.glide.request.target.Target;
9 |
10 | import org.reactivestreams.Subscriber;
11 |
12 | import java.io.File;
13 |
14 | /**
15 | * 获取缓存图片异步任务
16 | *
17 | * @author bailiangjin
18 | * @date 2018/4/11
19 | */
20 | public class GetImageCacheAsyncTask extends AsyncTask {
21 | private final Context context;
22 | private final Subscriber subscriber;
23 |
24 | public GetImageCacheAsyncTask(Context context, Subscriber subscriber) {
25 | this.context = context;
26 | this.subscriber = subscriber;
27 | }
28 |
29 | @Override
30 | protected File doInBackground(String... params) {
31 | String imgUrl = params[0];
32 | try {
33 | return Glide.with(context)
34 | .load(imgUrl)
35 | .downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
36 | .get();
37 | } catch (Exception ex) {
38 | return null;
39 | }
40 | }
41 |
42 | @Override
43 | protected void onPostExecute(File imageFile) {
44 | if (null == imageFile || 0 == imageFile.length()) {
45 | subscriber.onError(new RuntimeException("download image failed"));
46 | return;
47 | }
48 | //此path就是对应文件的缓存路径
49 | Log.d("path", imageFile.getAbsolutePath());
50 | subscriber.onNext(imageFile);
51 |
52 | }
53 | }
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/utils/image/IImageLoader.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.utils.image;
2 |
3 | import android.widget.ImageView;
4 |
5 | /**
6 | * 图片加载接口
7 | *
8 | * @author bailiangjin
9 | * @date 2018/4/11
10 | */
11 |
12 | public interface IImageLoader {
13 |
14 | /**
15 | * 加载网络图片
16 | *
17 | * @param iv
18 | * @param imageUrl
19 | */
20 | void loadImage(ImageView iv, String imageUrl);
21 |
22 | /**
23 | * 加载本地图片
24 | *
25 | * @param iv
26 | * @param imageFilePath
27 | */
28 | void loadLocalImage(ImageView iv, String imageFilePath);
29 |
30 | /**
31 | * 以静态图的方式加载本地图片
32 | *
33 | * @param iv
34 | * @param imageUrl
35 | */
36 | void loadAsStaticImage(ImageView iv, String imageUrl);
37 |
38 | /**
39 | * 以静态图的方式加载本地图片
40 | *
41 | * @param iv
42 | * @param imageFilePath
43 | */
44 | void loadLocalAsStaticImage(ImageView iv, String imageFilePath);
45 |
46 | class Builder {
47 | private String url = "";
48 | private boolean isLocal = false;
49 | private boolean isLoadAsStatic = false;
50 | private CacheType cacheType = CacheType.FIT_VIEW;
51 |
52 | public void url(String url) {
53 | this.url = url;
54 | }
55 |
56 | public void localImage(boolean local) {
57 | isLocal = local;
58 | }
59 |
60 | public void asStaticImage(boolean loadAsStatic) {
61 | isLoadAsStatic = loadAsStatic;
62 | }
63 |
64 | public void cacheType(CacheType cacheType) {
65 | this.cacheType = cacheType;
66 | }
67 | }
68 |
69 | enum CacheType {
70 | ALL,
71 | FIT_VIEW,
72 | ORG
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/utils/image/ImageParam.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.utils.image;
2 |
3 | /**
4 | * 图片宽高参数
5 | *
6 | * @author bailiangjin
7 | * @date 2018/4/17
8 | */
9 |
10 | public class ImageParam {
11 |
12 | private int width;
13 | private int height;
14 |
15 | public ImageParam(int width, int height) {
16 | this.width = width;
17 | this.height = height;
18 | }
19 |
20 | public int getWidth() {
21 | return width;
22 | }
23 |
24 | public void setWidth(int width) {
25 | this.width = width;
26 | }
27 |
28 | public int getHeight() {
29 | return height;
30 | }
31 |
32 | public void setHeight(int height) {
33 | this.height = height;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/demoapp/src/main/java/com/bailiangjin/demo/utils/image/MyGlideModule.java:
--------------------------------------------------------------------------------
1 | package com.bailiangjin.demo.utils.image;
2 |
3 | import android.content.Context;
4 |
5 | import com.bumptech.glide.Glide;
6 | import com.bumptech.glide.GlideBuilder;
7 | import com.bumptech.glide.module.GlideModule;
8 |
9 |
10 | public class MyGlideModule implements GlideModule {
11 |
12 | /**
13 | * 缓存路径
14 | */
15 | // private final String CACHE_DIR = CustomExpressionImageManager.INSTANCE.getCustomExpressionTempDir();
16 |
17 | /**
18 | * 缓存名
19 | */
20 | private final String CACHE_NAME = "custom_expression_glide_cache";
21 |
22 | /**
23 | * 缓存大小80M
24 | */
25 | private final int CACHE_SIZE = 80 * 1024 * 1024;
26 |
27 | @Override
28 | public void applyOptions(Context context, GlideBuilder builder) {
29 | //builder.setDecodeFormat(DecodeFormat.ALWAYS_ARGB_8888);
30 | // builder.setDiskCache(new DiskLruCacheFactory(CACHE_DIR, CACHE_NAME, CACHE_SIZE));
31 | }
32 |
33 | @Override
34 | public void registerComponents(Context context, Glide glide) {
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/demoapp/src/main/jniLibs/armeabi/liblbs.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/jniLibs/armeabi/liblbs.so
--------------------------------------------------------------------------------
/demoapp/src/main/jni_bak/jni.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/jni_bak/jni.rar
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_account_box_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_account_box_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_account_box_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_account_box_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_alarm_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_alarm_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_alarm_on_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_alarm_on_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_alarm_on_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_alarm_on_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_alarm_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_alarm_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_arrow_back_black_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_arrow_back_black_36dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_arrow_back_white_36dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_autorenew_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_autorenew_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_autorenew_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_autorenew_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_backup_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_backup_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_backup_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_backup_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_build_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_build_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_build_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_build_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_cached_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_cached_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_cached_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_cached_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_check_circle_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_check_circle_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_check_circle_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_done_all_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_done_all_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_done_all_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_done_all_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_done_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_done_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_done_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_done_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_explore_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_explore_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_explore_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_explore_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_favorite_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_favorite_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_favorite_border_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_favorite_border_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_favorite_border_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_favorite_border_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_favorite_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_favorite_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_find_replace_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_find_replace_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_find_replace_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_find_replace_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_fingerprint_black_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_fingerprint_black_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_fingerprint_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_fingerprint_white_48dp.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_get_app_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_get_app_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_get_app_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_get_app_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_help_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_help_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_help_outline_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_help_outline_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_help_outline_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_help_outline_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_help_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_help_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_highlight_off_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_highlight_off_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_highlight_off_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_highlight_off_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_home_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_home_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_home_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_home_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_location_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_location_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_location_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_location_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_lock_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_lock_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_lock_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_lock_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_open_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_open_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_open_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_lock_outline_open_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_power_settings_new_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_power_settings_new_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_power_settings_new_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_power_settings_new_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_query_builder_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_query_builder_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_query_builder_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_query_builder_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_settings_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_settings_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_settings_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_settings_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_share_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_share_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_share_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_share_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_swap_horiz_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_swap_horiz_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_swap_horiz_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_swap_horiz_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_swap_vert_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_swap_vert_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_swap_vert_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_swap_vert_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_thumb_down_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_thumb_down_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_thumb_down_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_thumb_down_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_thumb_up_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_thumb_up_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_thumb_up_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_thumb_up_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_visibility_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_visibility_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_visibility_off_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_visibility_off_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_visibility_off_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_visibility_off_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_visibility_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_visibility_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_zoom_in_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_zoom_in_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_zoom_in_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_zoom_in_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_zoom_out_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_zoom_out_black.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-hdpi/ic_zoom_out_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-hdpi/ic_zoom_out_white.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-xhdpi/btn_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-xhdpi/btn_photo.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-xhdpi/icon_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-xhdpi/icon_app.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-xhdpi/icon_timeoutsettings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-xhdpi/icon_timeoutsettings.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-xhdpi/icon_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-xhdpi/icon_user.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable-xhdpi/linear_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/drawable-xhdpi/linear_login.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable/app_splash_gradient_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable/demo_common_gradient_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/drawable/demo_splash_gradient_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_btn_base.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_database.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
14 |
15 |
21 |
22 |
28 |
29 |
35 |
36 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_demo_draggridview.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_dynamic.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
16 |
17 |
22 |
23 |
27 |
28 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_file_operation.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
18 |
19 |
20 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_filelistener.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
14 |
15 |
22 |
23 |
28 |
29 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_image_load.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
18 |
19 |
23 |
24 |
28 |
29 |
33 |
34 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_keylistener.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_network.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
18 |
19 |
20 |
24 |
25 |
26 |
32 |
33 |
37 |
38 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_switch_network_state.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
15 |
20 |
21 |
26 |
27 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_test.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
28 |
29 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_webview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/activity_x5_webview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/btn_base_body.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
14 |
15 |
20 |
21 |
26 |
27 |
32 |
33 |
38 |
43 |
48 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_edittext.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_gridview.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_ll.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_radiogroup.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
17 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_scrollview.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/ctn_textview.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/fragment1.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/fragment2.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/fragment_viewpager_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
13 |
14 |
25 |
26 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/item_btn_photo_gridview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
22 |
23 |
39 |
40 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/item_btn_skip_gridview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
24 |
25 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/item_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/layout/page_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
14 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/demoapp/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/demoapp/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 | >
2 |
8 |
9 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values/array.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - Android
5 | - IOS
6 | - JAVA
7 | - C++
8 | - Ruby
9 | - WEB
10 | - HTML
11 | - PERL
12 | - C
13 | - SWIFT
14 |
15 |
16 |
17 | - Normal List
18 | - Normal Grid
19 | - Normal Staggered
20 | - Multiple List
21 | - Multiple Grid
22 | - Header Bottom List
23 | - Header Bottom Grid
24 | - Anim List
25 | - Anim Grid
26 | - Expended List
27 | - Expended Grid
28 | - Single Select
29 | - Multiple Select
30 |
31 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
8 | #4DBB65
9 | #4D9A65
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 | 16dp
6 |
7 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Settings
5 |
6 |
7 |
8 | 请输入公司名
9 | 加载初始化文件...
10 | 正在建立通讯连接
11 | 同一帐号已在其他设备登录
12 |
13 |
14 |
15 | 用户中心登录
16 | 版本
17 | 注册
18 | 主页面
19 | 注销
20 | 退出
21 | 添加联系人
22 | 添加
23 | 联系人
24 | 好友信息
25 | 测试Launchmode
26 | 搜索demo
27 | 拖动GridView Demo
28 |
29 |
--------------------------------------------------------------------------------
/demoapp/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
34 |
35 |
40 |
41 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
19 |
20 | org.gradle.jvmargs=-Xmx1536m
21 |
22 |
23 | #android.useDeprecatedNdk=true
24 |
25 | android.deprecatedNdkCompileLease=1510317709376
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bailiangjin/BaseLibrary/edba56c145d3ba1447b96a681059e92da5bbbbfb/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Jan 08 17:56:30 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/import-summary.txt:
--------------------------------------------------------------------------------
1 | ECLIPSE ANDROID PROJECT IMPORT SUMMARY
2 | ======================================
3 |
4 | Ignored Files:
5 | --------------
6 | The following files were *not* copied into the new Gradle project; you
7 | should evaluate whether these are still needed in your project and if
8 | so manually move them:
9 |
10 | * ic_launcher-web.png
11 | * proguard-project.txt
12 |
13 | Replaced Jars with Dependencies:
14 | --------------------------------
15 | The importer recognized the following .jar files as third party
16 | libraries and replaced them with Gradle dependencies instead. This has
17 | the advantage that more explicit version information is known, and the
18 | libraries can be updated automatically. However, it is possible that
19 | the .jar file in your project was of an older version than the
20 | dependency we picked, which could render the project not compileable.
21 | You can disable the jar replacement in the import wizard and try again:
22 |
23 | android-support-v4.jar => com.android.support:support-v4:22.2.1
24 | android-support-v7-appcompat.jar => com.android.support:appcompat-v7:22.2.1
25 | gson-2.3.1.jar => com.google.code.gson:gson:2.3.1
26 |
27 | Replaced Libraries with Dependencies:
28 | -------------------------------------
29 | The importer recognized the following library projects as third party
30 | libraries and replaced them with Gradle dependencies instead. This has
31 | the advantage that more explicit version information is known, and the
32 | libraries can be updated automatically. However, it is possible that
33 | the source files in your project were of an older version than the
34 | dependency we picked, which could render the project not compileable.
35 | You can disable the library replacement in the import wizard and try
36 | again:
37 |
38 | android-support-v7-appcompat => [com.android.support:appcompat-v7:22.2.1]
39 |
40 | Moved Files:
41 | ------------
42 | Android Gradle projects use a different directory structure than ADT
43 | Eclipse projects. Here's how the projects were restructured:
44 |
45 | * AndroidManifest.xml => app/src/main/AndroidManifest.xml
46 | * assets/ => app/src/main/assets
47 | * res/ => app/src/main/res/
48 | * src/ => app/src/main/java/
49 |
50 | Next Steps:
51 | -----------
52 | You can now build the project. The Gradle project needs network
53 | connectivity to download dependencies.
54 |
55 | Bugs:
56 | -----
57 | If for some reason your project does not build, and you determine that
58 | it is due to a bug or limitation of the Eclipse to Gradle importer,
59 | please file a bug at http://b.android.com with category
60 | Component-Tools.
61 |
62 | (This import summary is for your information only, and can be deleted
63 | after import once you are satisfied with the results.)
64 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':demoapp', ':android-utils-library', ':android-ui-library', ':baseadapter-recyclerview', ':X5WebDemo', ':TestDemo'
2 |
3 |
4 | project(':baseadapter-recyclerview').projectDir = new File(settingsDir, 'libs/AndroidRapidDevelopLibrarys/baseadapter-recyclerview')
5 | project(':android-ui-library').projectDir = new File(settingsDir, 'libs/AndroidRapidDevelopLibrarys/android-ui-library')
6 | project(':android-utils-library').projectDir = new File(settingsDir, 'libs/AndroidRapidDevelopLibrarys/android-utils-library')
--------------------------------------------------------------------------------