├── .gitignore
├── .idea
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── vcs.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── ccj
│ │ └── archdesigns
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── ccj
│ │ │ └── archdesigns
│ │ │ ├── HttpMainActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MyApplication.java
│ │ │ └── bean
│ │ │ ├── City.java
│ │ │ ├── LoginRespense.java
│ │ │ └── User.java
│ └── res
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ └── activity_main_http.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-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── ccj
│ └── archdesigns
│ └── ExampleUnitTest.java
├── build.gradle
├── dbhelper
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── ccj
│ │ └── dbhelper
│ │ ├── BaseDaoFactory.java
│ │ ├── ExceptionHander.java
│ │ ├── TLog.java
│ │ ├── annotion
│ │ ├── DBFiled.java
│ │ ├── DBPrimaryKey.java
│ │ └── DBTable.java
│ │ └── dao
│ │ ├── BaseDao.java
│ │ ├── CityDao.java
│ │ ├── IBaseDao.java
│ │ └── UserDao.java
│ └── res
│ └── values
│ └── strings.xml
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── nethelper
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── ccj
│ │ └── nethelper
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── ccj
│ │ │ └── nethelper
│ │ │ ├── User.java
│ │ │ └── helper
│ │ │ ├── NetHelper.java
│ │ │ ├── RequestHolder.java
│ │ │ ├── RequestTask.java
│ │ │ ├── ThreadPoolManager.java
│ │ │ ├── interfaces
│ │ │ ├── CallBackListener.java
│ │ │ ├── IHttpListener.java
│ │ │ └── IHttpService.java
│ │ │ └── json
│ │ │ ├── JsonDetailListener.java
│ │ │ └── JsonRequestService.java
│ └── res
│ │ └── values
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── ccj
│ └── nethelper
│ └── ExampleUnitTest.java
├── networkhelper
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── ccj
│ │ └── networkhelper
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── ccj
│ │ │ └── networkhelper
│ │ │ ├── MainActivity.java
│ │ │ └── MainActivityFragment.java
│ └── res
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ ├── content_main.xml
│ │ └── fragment_main.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
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── ccj
│ └── networkhelper
│ └── ExampleUnitTest.java
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
21 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
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 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | #DBHelper
3 | #面向对象的SQLite框架
4 |
5 | ---
6 |
7 | #To Use
8 |
9 | ## 1.In Gradle
10 |
11 | ```gradle
12 |
13 | compile 'me.ccj.dbhelper:dbhelper:1.0.0'
14 |
15 | ```
16 | ## 2.In Maven
17 |
18 | ```maven
19 |
20 |
21 | me.ccj.dbhelper
22 | dbhelper
23 | 1.0.0
24 | pom
25 |
26 |
27 | ```
28 |
29 |
30 | ---
31 |
32 |
33 |
34 | #Geting Started
35 |
36 | ## 1.建立bean文件,配置注解
37 | ```java
38 | /**
39 | * Created by ccj on 2017/1/10.
40 | */
41 |
42 | /**
43 | * Bean文件 用注解#{@DBTable},绑定表名,
44 | * 用#{@DBPrimaryKey},来设置自增长,主外键关系.
45 | * 其他,用属性名作为表属性
46 | */
47 | @DBTable("tb_user")
48 | public class User {
49 |
50 | @DBPrimaryKey
51 | private Long id;
52 |
53 | public String name;
54 |
55 | public String password;
56 |
57 | public User(String name, String password) {
58 | this.name = name;
59 | this.password = password;
60 | }
61 |
62 | public User() {
63 | }
64 |
65 |
66 | @Override
67 | public String toString() {
68 | return "User{" +
69 | "id=" + id +
70 | ", name='" + name + '\'' +
71 | ", password='" + password + '\'' +
72 | '}';
73 | }
74 | }
75 | /**
76 | create table if not exists tb_user ( id integer PRIMARY KEY autoincrement, name text, password text );
77 | */
78 |
79 | ```
80 |
81 | ## 2.在`Application`初始化`BaseDaoFactory`
82 |
83 | ```java
84 | public class MyApplication extends Application{
85 |
86 |
87 | private String databaseDir = Environment.getExternalStorageDirectory().getAbsolutePath()+"/database/";
88 | private String databaseName = "design.db";
89 |
90 | @Override
91 | public void onCreate() {
92 | super.onCreate();
93 |
94 |
95 | BaseDaoFactory.init(databaseDir,databaseName);
96 |
97 | }
98 | }
99 |
100 |
101 | ```
102 |
103 | ## 3.工厂调用
104 |
105 | ```
106 | public class MainActivity extends AppCompatActivity {
107 | int index = 0;
108 | BaseDao cityDao;
109 | BaseDao userDao;
110 |
111 | @Override
112 | protected void onCreate(Bundle savedInstanceState) {
113 | super.onCreate(savedInstanceState);
114 | setContentView(R.layout.activity_main);
115 | //要保证初始化一次,避免重复新建对象
116 | userDao = BaseDaoFactory.getInstance().getDBDao(User.class);
117 | cityDao = BaseDaoFactory.getInstance().getDBDao(City.class);
118 |
119 | }
120 |
121 | /**
122 | * 保存城市
123 | * @param v
124 | */
125 | public void saveCity(View v) {
126 | City city = new City("青岛" + (index++), "0200");
127 | cityDao.insert(city);
128 |
129 |
130 | }
131 |
132 | /**
133 | * 保存用户
134 | * @param v
135 | */
136 | public void saveUser(View v) {
137 | index++;
138 | User user = new User("ccj" + index, "123456");
139 | TLog.error(user.toString());
140 | userDao.insert(user);
141 |
142 | }
143 |
144 | /**
145 | * 更新用户
146 | * @param v
147 | */
148 | public void updateUser(View v) {
149 | User old = new User();
150 | old.name = "ccj1";
151 | User news = new User("ccj1", "123");
152 | userDao.update(old, news);
153 |
154 | }
155 |
156 | /**
157 | * 查询用户
158 | * @param v
159 | */
160 | public void getUser(View v) {
161 | User user = new User();
162 | List