├── .gitignore ├── KJFrame ├── .gitignore ├── build.gradle ├── demo │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── org │ │ │ └── kymjs │ │ │ └── kjframe │ │ │ └── demo │ │ │ ├── AppContext.java │ │ │ ├── BitmapActivity.java │ │ │ ├── DBActivity.java │ │ │ ├── HttpActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── WidgetActivity.java │ │ │ ├── bean │ │ │ ├── ImageData.java │ │ │ ├── PluginBean.java │ │ │ └── User.java │ │ │ └── widget │ │ │ └── KJSlidingMenuDemo.java │ │ └── res │ │ ├── drawable-hdpi │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ │ ├── drawable-xxhdpi │ │ ├── ic_launcher.png │ │ └── image.jpg │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── aty_kjlistview.xml │ │ ├── aty_main.xml │ │ ├── aty_new_listview.xml │ │ ├── aty_oom.xml │ │ ├── bitmap.xml │ │ ├── example_db.xml │ │ ├── frag_plugin.xml │ │ ├── grid_item.xml │ │ ├── http.xml │ │ ├── layout_main_content.xml │ │ ├── list_item.xml │ │ ├── plugin_item.xml │ │ ├── scale_img.xml │ │ └── widget.xml │ │ ├── menu │ │ └── main.xml │ │ ├── values-v11 │ │ └── styles.xml │ │ ├── values-v14 │ │ └── styles.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── kjframe │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── org │ │ │ └── kymjs │ │ │ └── kjframe │ │ │ ├── Core.java │ │ │ ├── KJActivity.java │ │ │ ├── KJBitmap.java │ │ │ ├── KJDB.java │ │ │ ├── KJHttp.java │ │ │ ├── SupportActivity.java │ │ │ ├── bitmap │ │ │ ├── BitmapCallBack.java │ │ │ ├── BitmapConfig.java │ │ │ ├── BitmapCreate.java │ │ │ ├── BitmapMemoryCache.java │ │ │ ├── DiskImageRequest.java │ │ │ ├── ImageDisplayer.java │ │ │ ├── ImageRequest.java │ │ │ └── Persistence.java │ │ │ ├── database │ │ │ ├── CursorHelper.java │ │ │ ├── DaoConfig.java │ │ │ ├── DbModel.java │ │ │ ├── ManyToOneLazyLoader.java │ │ │ ├── OneToManyLazyLoader.java │ │ │ ├── SqlBuilder.java │ │ │ ├── SqlInfo.java │ │ │ ├── annotate │ │ │ │ ├── Id.java │ │ │ │ ├── ManyToOne.java │ │ │ │ ├── OneToMany.java │ │ │ │ ├── Property.java │ │ │ │ ├── Table.java │ │ │ │ └── Transient.java │ │ │ └── utils │ │ │ │ ├── ClassUtils.java │ │ │ │ ├── FieldUtils.java │ │ │ │ ├── Id.java │ │ │ │ ├── KeyValue.java │ │ │ │ ├── ManyToOne.java │ │ │ │ ├── OneToMany.java │ │ │ │ ├── Property.java │ │ │ │ └── TableInfo.java │ │ │ ├── http │ │ │ ├── ByteArrayPool.java │ │ │ ├── Cache.java │ │ │ ├── CacheDispatcher.java │ │ │ ├── Delivery.java │ │ │ ├── DeliveryExecutor.java │ │ │ ├── DeliveryResponse.java │ │ │ ├── DiskCache.java │ │ │ ├── DownloadController.java │ │ │ ├── DownloadTaskQueue.java │ │ │ ├── FileRequest.java │ │ │ ├── FormRequest.java │ │ │ ├── HTTPSTrustManager.java │ │ │ ├── HttpCallBack.java │ │ │ ├── HttpConfig.java │ │ │ ├── HttpConnectStack.java │ │ │ ├── HttpHeaderParser.java │ │ │ ├── HttpParams.java │ │ │ ├── HttpStack.java │ │ │ ├── HttpStatus.java │ │ │ ├── HttpUtils.java │ │ │ ├── JsonRequest.java │ │ │ ├── KJAsyncTask.java │ │ │ ├── KJHttpException.java │ │ │ ├── KJHttpResponse.java │ │ │ ├── Network.java │ │ │ ├── NetworkDispatcher.java │ │ │ ├── NetworkResponse.java │ │ │ ├── PoolingByteArrayOutputStream.java │ │ │ ├── Request.java │ │ │ └── Response.java │ │ │ ├── ui │ │ │ ├── AnnotateUtil.java │ │ │ ├── BindView.java │ │ │ ├── I_BroadcastReg.java │ │ │ ├── I_KJActivity.java │ │ │ ├── I_SkipActivity.java │ │ │ ├── KJActivityStack.java │ │ │ ├── KJFragment.java │ │ │ ├── SupportFragment.java │ │ │ └── ViewInject.java │ │ │ ├── utils │ │ │ ├── CipherUtils.java │ │ │ ├── DensityUtils.java │ │ │ ├── FileUtils.java │ │ │ ├── ImageUtils.java │ │ │ ├── KJConfig.java │ │ │ ├── KJLoger.java │ │ │ ├── PreferenceHelper.java │ │ │ ├── StringUtils.java │ │ │ ├── SystemTool.java │ │ │ └── ViewUtils.java │ │ │ └── widget │ │ │ ├── AdapterHolder.java │ │ │ ├── AnimatorProxy.java │ │ │ ├── KJAdapter.java │ │ │ ├── KJScrollView.java │ │ │ ├── KJSlidingMenu.java │ │ │ ├── KJViewPager.java │ │ │ ├── RoundImageView.java │ │ │ └── ViewHelper.java │ │ └── res │ │ └── values │ │ └── strings.xml └── settings.gradle ├── LICENSE ├── README.md ├── binrary └── kjframe-2.5.5.jar └── doc ├── API文档地址.txt ├── wiki ├── BitmapLibrary.md ├── DBLibrary.md ├── Home.md ├── HttpLibrary.md └── UILibrary.md └── 命名规则 ├── Google Java编程风格指南.html ├── Google Java编程风格指南_files ├── a.html ├── a_data │ ├── avatar92.jpg │ ├── avatar92_002.jpg │ ├── avatar92_003.jpg │ ├── common.js │ ├── config.js │ ├── discovery.css │ ├── discovery.js │ ├── event.js │ ├── lounge.css │ ├── lounge.js │ ├── lounge_002.js │ ├── noavatar92.png │ └── noavatar92_002.png ├── app.css ├── app.js ├── bootstrap-responsive.css ├── bootstrap.css ├── css.css ├── embed.js ├── ga.js ├── jia.js ├── jiathis.js ├── jiathis_counter.css ├── jiathis_share.css ├── jiathis_utility.html ├── jquery.js ├── shares.js └── syntax.css └── 命名规则.htm /.gitignore: -------------------------------------------------------------------------------- 1 | tomsuite.xml 2 | **pom.xml.releaseBackup 3 | release.properties 4 | gen 5 | */seed.txt 6 | notes 7 | logs 8 | gen-external-apklibs 9 | .idea 10 | *.iml 11 | .DS_Store 12 | *.swp 13 | out 14 | .gradle 15 | /local.properties 16 | /build 17 | 18 | ###OSX### 19 | 20 | .DS_Store 21 | .AppleDouble 22 | .LSOverride 23 | 24 | # Icon must ends with two \r. 25 | Icon 26 | 27 | 28 | # Thumbnails 29 | ._* 30 | 31 | # Files that might appear on external disk 32 | .Spotlight-V100 33 | .Trashes 34 | 35 | 36 | ###Linux### 37 | 38 | *~ 39 | 40 | # KDE directory preferences 41 | .directory 42 | 43 | 44 | ###Android### 45 | 46 | # Built application files 47 | *.apk 48 | *.ap_ 49 | 50 | # Files for ART and Dalvik VM 51 | *.dex 52 | 53 | # Java class files 54 | *.class 55 | 56 | # Generated files 57 | bin/ 58 | gen/ 59 | 60 | # Gradle files 61 | .gradle/ 62 | .gradletasknamecache 63 | build/ 64 | 65 | # Local configuration file (sdk path, etc) 66 | local.properties 67 | 68 | # Proguard folder generated by Eclipse 69 | proguard/ 70 | 71 | # Lint 72 | lint-report.html 73 | lint-report_files/ 74 | lint_result.txt 75 | 76 | # Mobile Tools for Java (J2ME) 77 | .mtj.tmp/ 78 | 79 | # Package Files # 80 | *.war 81 | *.ear 82 | 83 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 84 | hs_err_pid* 85 | 86 | 87 | ###IntelliJ### 88 | 89 | *.iml 90 | *.ipr 91 | *.iws 92 | .idea/ 93 | 94 | 95 | ###Eclipse### 96 | 97 | *.pydevproject 98 | .metadata 99 | tmp/ 100 | *.tmp 101 | *.bak 102 | *.swp 103 | *~.nib 104 | .settings/ 105 | .loadpath 106 | 107 | # External tool builders 108 | .externalToolBuilders/ 109 | 110 | # Locally stored "Eclipse launch configurations" 111 | *.launch 112 | 113 | # CDT-specific 114 | .cproject 115 | 116 | # PDT-specific 117 | .buildpath 118 | 119 | # sbteclipse plugin 120 | .target 121 | 122 | # TeXlipse plugin 123 | .texlipseXml version="1.0" encoding="UTF-8"?>captures 124 | -------------------------------------------------------------------------------- /KJFrame/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | /captures 8 | -------------------------------------------------------------------------------- /KJFrame/build.gradle: -------------------------------------------------------------------------------- 1 | 2 | buildscript { 3 | repositories { 4 | maven { url 'https://jitpack.io' } 5 | google() 6 | mavenCentral() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath "com.android.tools.build:gradle:4.1.2" 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31" 12 | classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | maven { url 'https://jitpack.io' } 19 | google() 20 | mavenCentral() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /KJFrame/demo/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /KJFrame/demo/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 30 5 | 6 | defaultConfig { 7 | applicationId "org.kymjs.kjframe.demo" 8 | minSdkVersion 14 9 | targetSdkVersion 30 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation 'androidx.appcompat:appcompat:1.3.1' 23 | implementation project(':kjframe') 24 | } 25 | -------------------------------------------------------------------------------- /KJFrame/demo/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 /Users/kymjs/developer/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 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 14 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/AppContext.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo; import android.app.Application; public class AppContext extends Application { @Override public void onCreate() { super.onCreate(); // CrashHandler.create(this); } } -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/BitmapActivity.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo; 2 | 3 | import org.kymjs.kjframe.KJActivity; 4 | import org.kymjs.kjframe.KJBitmap; 5 | import org.kymjs.kjframe.bitmap.BitmapCallBack; 6 | import org.kymjs.kjframe.ui.BindView; 7 | import org.kymjs.kjframe.ui.ViewInject; 8 | import org.kymjs.kjframe.utils.FileUtils; 9 | 10 | import android.graphics.Bitmap; 11 | import android.view.View; 12 | import android.widget.Button; 13 | import android.widget.ImageView; 14 | import android.widget.TextView; 15 | 16 | public class BitmapActivity extends KJActivity { 17 | 18 | @BindView(id = R.id.imageView1, click = true) 19 | private ImageView mImg1; 20 | @BindView(id = R.id.imageView2, click = true) 21 | private ImageView mImg2; 22 | @BindView(id = R.id.imageView3, click = true) 23 | private ImageView mImg3; 24 | @BindView(id = R.id.imageView4, click = true) 25 | private ImageView mImg4; 26 | 27 | @BindView(id = R.id.textView1) 28 | private TextView mTv1; 29 | @BindView(id = R.id.textView2) 30 | private TextView mTv2; 31 | @BindView(id = R.id.textView3) 32 | private TextView mTv3; 33 | @BindView(id = R.id.textView4) 34 | private TextView mTv4; 35 | @BindView(id = R.id.button, click = true) 36 | private Button mBtn; 37 | 38 | @Override 39 | public void setRootView() { 40 | setContentView(R.layout.bitmap); 41 | } 42 | 43 | @Override 44 | public void initWidget() { 45 | super.initWidget(); 46 | mTv1.setText("使用控件宽高显示图片(默认)"); 47 | mTv2.setText("强制显示原图(可能OOM)"); 48 | mTv3.setText("加载过程中自定义显示过程(基础设置)"); 49 | mTv4.setText("高级设置"); 50 | mBtn.setText("保存网络图片到本地"); 51 | } 52 | 53 | @Override 54 | public void widgetClick(View v) { 55 | super.widgetClick(v); 56 | switch (v.getId()) { 57 | case R.id.imageView1: 58 | display1(); 59 | break; 60 | case R.id.imageView2: 61 | display2(); 62 | break; 63 | case R.id.imageView3: 64 | display3(); 65 | break; 66 | case R.id.imageView4: 67 | ViewInject.toast("请查看代码中的更多方法"); 68 | break; 69 | case R.id.button: 70 | save(); 71 | ViewInject.toast("图片将会出现在SD卡根目录OSL.png"); 72 | break; 73 | } 74 | } 75 | 76 | private void save() { 77 | KJBitmap kjb = new KJBitmap(); 78 | kjb.saveImage(this, "http://www.kymjs.com/image/logo.png", 79 | FileUtils.getSDCardPath() + "/OSL.png"); 80 | } 81 | 82 | private void removeCache() { 83 | KJBitmap kjb = new KJBitmap(); 84 | kjb.removeCache("http://static.oschina.net/uploads/space/2015/0420/133006_NnLQ_12.jpg"); 85 | } 86 | 87 | private void display1() { 88 | KJBitmap kjb = new KJBitmap(); 89 | kjb.display(mImg1, 90 | "http://static.oschina.net/uploads/space/2015/0420/133006_NnLQ_12.jpg"); 91 | } 92 | 93 | private void display2() { 94 | KJBitmap kjb = new KJBitmap(); 95 | kjb.display( 96 | mImg2, 97 | "http://static.oschina.net/uploads/space/2015/0420/133006_NnLQ_12.jpg", 98 | 0, 0); 99 | } 100 | 101 | private void display3() { 102 | KJBitmap kjb = new KJBitmap(); 103 | kjb.display( 104 | mImg3, 105 | "http://static.oschina.net/uploads/space/2015/0420/133006_NnLQ_12.jpg", 106 | new BitmapCallBack() { 107 | @Override 108 | public void onPreLoad() { 109 | super.onPreLoad(); 110 | ViewInject.toast("即将开始下载"); 111 | } 112 | 113 | @Override 114 | public void onSuccess(Bitmap bitmap) { 115 | super.onSuccess(bitmap); 116 | ViewInject.toast("加载成功"); 117 | } 118 | 119 | @Override 120 | public void onFailure(Exception e) { 121 | super.onFailure(e); 122 | ViewInject.toast("加载失败"); 123 | } 124 | 125 | @Override 126 | public void onFinish() { 127 | super.onFinish(); 128 | ViewInject.toast("加载完成"); 129 | } 130 | }); 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/DBActivity.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo; 2 | 3 | import java.util.List; 4 | 5 | import org.kymjs.kjframe.KJActivity; 6 | import org.kymjs.kjframe.KJDB; 7 | import org.kymjs.kjframe.demo.bean.User; 8 | import org.kymjs.kjframe.ui.BindView; 9 | import org.kymjs.kjframe.ui.ViewInject; 10 | import org.kymjs.kjframe.utils.StringUtils; 11 | 12 | import android.view.View; 13 | import android.widget.Button; 14 | import android.widget.EditText; 15 | import android.widget.TextView; 16 | 17 | public class DBActivity extends KJActivity { 18 | @BindView(id = R.id.button1, click = true) 19 | private Button mBtn1; 20 | @BindView(id = R.id.button2, click = true) 21 | private Button mBtn2; 22 | @BindView(id = R.id.button3, click = true) 23 | private Button mBtn3; 24 | @BindView(id = R.id.button4, click = true) 25 | private Button mBtn4; 26 | @BindView(id = R.id.editText1) 27 | private EditText mEt; 28 | @BindView(id = R.id.textView1) 29 | private TextView mTv; 30 | 31 | private KJDB kjdb; 32 | private User javaBean; 33 | 34 | @Override 35 | public void setRootView() { 36 | setContentView(R.layout.example_db); 37 | } 38 | 39 | @Override 40 | public void initData() { 41 | super.initData(); 42 | kjdb = KJDB.create(); 43 | javaBean = new User(); 44 | javaBean.setAge(20); 45 | javaBean.setName("姓名一号"); 46 | kjdb.save(javaBean); 47 | } 48 | 49 | @Override 50 | public void initWidget() { 51 | super.initWidget(); 52 | mBtn1.setText("增"); 53 | mBtn2.setText("删"); 54 | mBtn3.setText("改"); 55 | mBtn4.setText("查"); 56 | } 57 | 58 | @Override 59 | public void widgetClick(View v) { 60 | super.widgetClick(v); 61 | switch (v.getId()) { 62 | case R.id.button1: 63 | add(); 64 | break; 65 | case R.id.button2: 66 | delete(); 67 | break; 68 | case R.id.button3: 69 | update(); 70 | break; 71 | case R.id.button4: 72 | queryAll(); 73 | break; 74 | } 75 | } 76 | 77 | private void add() { 78 | if (StringUtils.isEmpty(mEt.getText().toString())) { 79 | ViewInject.toast("输入些数据再添加吧"); 80 | } else { 81 | User javaBean2 = new User(); 82 | javaBean2.setAge(21); 83 | javaBean2.setName(mEt.getText().toString()); 84 | kjdb.save(javaBean2); 85 | ViewInject.toast("已添加,请查看"); 86 | mEt.setText(null); 87 | } 88 | } 89 | 90 | private void delete() { 91 | // 可以直接这样删掉,这里我们用sql语句的方法 92 | // kjdb.delete(javaBean); 93 | // 删除所有age为20,name为“姓名一号”的数据 94 | kjdb.deleteByWhere(User.class, "age=20 and name='姓名一号'"); 95 | } 96 | 97 | private void update() { 98 | // 可以直接将一个修改了数据的JavaBean作为参数传入(此处的修改不能是主键id) 99 | // kjdb.update(javaBean); 100 | // 修改全部age为21的数据为JavaBean的内容 101 | kjdb.update(javaBean, "age=21"); 102 | } 103 | 104 | private void queryAll() { 105 | // 这里是查找全部数据的 106 | List datas = kjdb.findAll(User.class); 107 | StringBuilder str = new StringBuilder(); 108 | for (User u : datas) { 109 | str.append(u.getName()).append("----"); 110 | } 111 | mTv.setText(str); 112 | } 113 | 114 | private void query() { 115 | // 查找age为21的数据 116 | List datas = kjdb.findAllByWhere(User.class, "age=21"); 117 | StringBuilder str = new StringBuilder(); 118 | for (User u : datas) { 119 | str.append(u.getName()).append("----"); 120 | } 121 | mTv.setText(str); 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo; 2 | 3 | import android.view.View; 4 | import android.widget.Button; 5 | import android.widget.TextView; 6 | 7 | import org.kymjs.kjframe.SupportActivity; 8 | import org.kymjs.kjframe.ui.BindView; 9 | import org.kymjs.kjframe.ui.KJActivityStack; 10 | import org.kymjs.kjframe.utils.KJConfig; 11 | 12 | public class MainActivity extends SupportActivity { 13 | 14 | @BindView(id = R.id.textView1) 15 | private TextView mTvVersion; 16 | @BindView(id = R.id.button1, click = true) 17 | private Button mBtnUI; 18 | @BindView(id = R.id.button3, click = true) 19 | private Button mBtnBitmap; 20 | @BindView(id = R.id.button4, click = true) 21 | private Button mBtnHttp; 22 | @BindView(id = R.id.button5, click = true) 23 | private Button mBtnDB; 24 | 25 | @Override 26 | public void setRootView() { 27 | setContentView(R.layout.activity_main); 28 | if (!"org.kymjs.kjframe.demo".equals(getApplication().getPackageName())) { 29 | KJActivityStack.create().appExit(aty); 30 | } 31 | } 32 | 33 | @Override 34 | public void initWidget() { 35 | super.initWidget(); 36 | mTvVersion.setText("当前框架版本为:" + KJConfig.VERSION); 37 | } 38 | 39 | @Override 40 | public void widgetClick(View v) { 41 | super.widgetClick(v); 42 | switch (v.getId()) { 43 | case R.id.button1: 44 | showActivity(this, WidgetActivity.class); 45 | break; 46 | case R.id.button3: 47 | showActivity(this, BitmapActivity.class); 48 | break; 49 | case R.id.button4: 50 | showActivity(this, HttpActivity.class); 51 | break; 52 | case R.id.button5: 53 | showActivity(this, DBActivity.class); 54 | break; 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/WidgetActivity.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo; 2 | 3 | import android.view.View; 4 | import android.widget.Button; 5 | 6 | import org.kymjs.kjframe.KJActivity; 7 | import org.kymjs.kjframe.demo.widget.KJSlidingMenuDemo; 8 | import org.kymjs.kjframe.ui.BindView; 9 | import org.kymjs.kjframe.ui.ViewInject; 10 | 11 | public class WidgetActivity extends KJActivity { 12 | @BindView(id = R.id.button1, click = true) 13 | private Button mBtn1; 14 | @BindView(id = R.id.button2, click = true) 15 | private Button mBtn2; 16 | @BindView(id = R.id.button3, click = true) 17 | private Button mBtn3; 18 | @BindView(id = R.id.button4, click = true) 19 | private Button mBtn4; 20 | @BindView(id = R.id.button5, click = true) 21 | private Button mBtn5; 22 | 23 | @Override 24 | public void setRootView() { 25 | setContentView(R.layout.widget); 26 | } 27 | 28 | @Override 29 | public void initWidget() { 30 | super.initWidget(); 31 | mBtn1.setText("侧滑SlidingMenu"); 32 | mBtn2.setText("上下拉ListView,圆形imageView,万能适配器"); 33 | mBtn3.setText("KJScrollView请访问:https://github.com/KJFrame/KJBlog"); 34 | mBtn4.setText("KJViewPager请访问:https://github.com/kymjs/KJController"); 35 | } 36 | 37 | @Override 38 | public void widgetClick(View v) { 39 | super.widgetClick(v); 40 | switch (v.getId()) { 41 | case R.id.button1: 42 | showActivity(aty, KJSlidingMenuDemo.class); 43 | break; 44 | case R.id.button2: 45 | break; 46 | case R.id.button3: 47 | ViewInject.toast("请查看KJBlog项目"); 48 | break; 49 | case R.id.button4: 50 | ViewInject.toast("请查看KJController项目"); 51 | break; 52 | case R.id.button5: 53 | break; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/bean/PluginBean.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo.bean; 2 | 3 | import android.graphics.drawable.Drawable; 4 | 5 | public class PluginBean { 6 | 7 | private String name; 8 | private Drawable icon; 9 | private String path; 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | 19 | public Drawable getIcon() { 20 | return icon; 21 | } 22 | 23 | public void setIcon(Drawable icon) { 24 | this.icon = icon; 25 | } 26 | 27 | public String getPath() { 28 | return path; 29 | } 30 | 31 | public void setPath(String path) { 32 | this.path = path; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/bean/User.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo.bean; 2 | 3 | import org.kymjs.kjframe.database.annotate.Id; 4 | 5 | public class User { 6 | 7 | // 将id属性设置为主键,必须有一个主键, 8 | // 其实如果变量名为:'id'或'_id'默认就是主键 9 | // 也就是在一个JavaBean里面必须有'id'或'_id'或'@Id()'注解,否则会报错 10 | @Id() 11 | private int id; 12 | private int age; 13 | private String Name; 14 | private String field; 15 | 16 | /************* getter and setter 必须有 *******************/ 17 | 18 | public int getId() { 19 | return id; 20 | } 21 | 22 | public void setId(int id) { 23 | this.id = id; 24 | } 25 | 26 | public int getAge() { 27 | return age; 28 | } 29 | 30 | public void setAge(int age) { 31 | this.age = age; 32 | } 33 | 34 | public String getName() { 35 | return Name; 36 | } 37 | 38 | public void setName(String name) { 39 | Name = name; 40 | } 41 | 42 | public String getField() { 43 | return field; 44 | } 45 | 46 | public void setField(String field) { 47 | this.field = field; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /KJFrame/demo/src/main/java/org/kymjs/kjframe/demo/widget/KJSlidingMenuDemo.java: -------------------------------------------------------------------------------- 1 | package org.kymjs.kjframe.demo.widget; import org.kymjs.kjframe.KJActivity; import org.kymjs.kjframe.demo.R; import org.kymjs.kjframe.ui.BindView; import org.kymjs.kjframe.ui.ViewInject; import org.kymjs.kjframe.widget.KJSlidingMenu; import android.view.View; import android.widget.Button; import android.widget.TextView; public class KJSlidingMenuDemo extends KJActivity { @BindView(id = R.id.textview, click = true) private TextView mText; @BindView(id = R.id.anim_switch, click = true) private Button mSwitch; @BindView(id = R.id.main_group) private KJSlidingMenu mSliding; @Override public void setRootView() { setContentView(R.layout.aty_main); } @Override public void initWidget() { super.initWidget(); mSwitch.setText("是否打开伪3D效果" + mSliding.isShowAnim()); } @Override public void widgetClick(View v) { super.widgetClick(v); switch (v.getId()) { case R.id.textview: ViewInject.toast("hello"); break; case R.id.anim_switch: mSliding.setShowAnim(true); mSwitch.setText("伪3D效果已打开"); break; default: break; } } } -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kymjs/KJFrameForAndroid/27e3992e36e9050b74c902590ca67fcad4581b1b/KJFrame/demo/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kymjs/KJFrameForAndroid/27e3992e36e9050b74c902590ca67fcad4581b1b/KJFrame/demo/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kymjs/KJFrameForAndroid/27e3992e36e9050b74c902590ca67fcad4581b1b/KJFrame/demo/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kymjs/KJFrameForAndroid/27e3992e36e9050b74c902590ca67fcad4581b1b/KJFrame/demo/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/drawable-xxhdpi/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kymjs/KJFrameForAndroid/27e3992e36e9050b74c902590ca67fcad4581b1b/KJFrame/demo/src/main/res/drawable-xxhdpi/image.jpg -------------------------------------------------------------------------------- /KJFrame/demo/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 16 | 17 |