Skip to content

Commit 821154f

Browse files
committed
添加intentService handlerThread样例
1 parent 44e072e commit 821154f

25 files changed

+1094
-86
lines changed

.idea/markdown-navigator.xml

+72
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+24-69
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ dependencies {
2222
implementation fileTree(dir: 'libs', include: ['*.jar'])
2323
implementation 'com.android.support:appcompat-v7:26.1.0'
2424
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
25+
implementation 'com.jakewharton:butterknife:8.4.0'
26+
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
2527
testImplementation 'junit:junit:4.12'
2628
androidTestImplementation 'com.android.support.test:runner:1.0.1'
2729
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

app/src/main/AndroidManifest.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,20 @@
88
android:label="@string/app_name"
99
android:roundIcon="@mipmap/ic_launcher_round"
1010
android:supportsRtl="true"
11-
android:theme="@style/AppTheme">
11+
android:theme="@style/BaseAppTheme">
1212
<activity android:name=".MainActivity">
1313
<intent-filter>
1414
<action android:name="android.intent.action.MAIN" />
1515

1616
<category android:name="android.intent.category.LAUNCHER" />
1717
</intent-filter>
1818
</activity>
19+
<activity android:name=".async.AsyncTaskActivity" />
20+
<activity android:name=".handler.HandlerThreadActivity" />
21+
<activity android:name=".pool.ThreadPoolActivity" />
22+
<activity android:name=".service.IntentServiceActivity"/>
23+
<!-- IntentService -->
24+
<service android:name=".service.MyIntentService"/>
1925
</application>
2026

2127
</manifest>
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,117 @@
11
package com.andryyu.thread;
22

3+
import android.content.Intent;
4+
import android.graphics.Color;
35
import android.support.v7.app.AppCompatActivity;
46
import android.os.Bundle;
7+
import android.support.v7.widget.Toolbar;
8+
import android.view.View;
9+
import android.view.ViewGroup;
10+
import android.widget.AdapterView;
11+
import android.widget.BaseAdapter;
12+
import android.widget.ListView;
13+
import android.widget.TextView;
14+
15+
import com.andryyu.thread.async.AsyncTaskActivity;
16+
import com.andryyu.thread.handler.HandlerThreadActivity;
17+
import com.andryyu.thread.pool.ThreadPoolActivity;
18+
import com.andryyu.thread.service.IntentServiceActivity;
519

620
public class MainActivity extends AppCompatActivity {
721

22+
public static final String[] datas = new String[]{"AsyncTask使用", "HandlerThread使用", "ThreadPool使用", "IntentService使用"};
23+
private ListView mListView;
24+
private Toolbar mToolbar;
25+
private TextView mTitleTextView;
26+
827
@Override
928
protected void onCreate(Bundle savedInstanceState) {
1029
super.onCreate(savedInstanceState);
1130
setContentView(R.layout.activity_main);
31+
32+
mToolbar = this.findViewById(R.id.toolbar);
33+
mToolbar.setTitleTextColor(Color.WHITE);
34+
mToolbar.setTitle("");
35+
mTitleTextView = this.findViewById(R.id.toolbar_title);
36+
mTitleTextView.setText("性能优化之多线程");
37+
this.setSupportActionBar(mToolbar);
38+
if (getSupportActionBar() != null)
39+
// Enable the Up button
40+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
41+
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
42+
@Override
43+
public void onClick(View v) {
44+
45+
MainActivity.this.finish();
46+
}
47+
});
48+
49+
mListView = this.findViewById(R.id.listView);
50+
mListView.setAdapter(new MainAdapter());
51+
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
52+
@Override
53+
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
54+
doClick(position);
55+
}
56+
});
57+
}
58+
59+
private void doClick(int position) {
60+
switch (position) {
61+
/*Activity agentWeb*/
62+
case 0:
63+
startActivity(new Intent(this, AsyncTaskActivity.class));
64+
break;
65+
case 1:
66+
startActivity(new Intent(this, HandlerThreadActivity.class));
67+
break;
68+
case 2:
69+
startActivity(new Intent(this, ThreadPoolActivity.class));
70+
break;
71+
case 3:
72+
startActivity(new Intent(this, IntentServiceActivity.class));
73+
break;
74+
default:
75+
break;
76+
}
77+
}
78+
79+
public class MainAdapter extends BaseAdapter {
80+
81+
@Override
82+
public int getCount() {
83+
return datas.length;
84+
}
85+
86+
@Override
87+
public Object getItem(int position) {
88+
return datas[position];
89+
}
90+
91+
@Override
92+
public long getItemId(int position) {
93+
return position;
94+
}
95+
96+
@Override
97+
public View getView(int position, View convertView, ViewGroup parent) {
98+
ViewHolder mViewHolder;
99+
if (convertView == null) {
100+
mViewHolder = new ViewHolder();
101+
View mView = MainActivity.this.getLayoutInflater().inflate(R.layout.listview_main, parent, false);
102+
mViewHolder.mTextView = (TextView) mView.findViewById(R.id.content);
103+
mView.setTag(mViewHolder);
104+
convertView = mView;
105+
} else {
106+
mViewHolder = (ViewHolder) convertView.getTag();
107+
}
108+
109+
mViewHolder.mTextView.setText(datas[position]);
110+
return convertView;
111+
}
112+
}
113+
114+
class ViewHolder {
115+
TextView mTextView;
12116
}
13117
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.andryyu.thread.async;
2+
3+
import android.support.v7.app.AppCompatActivity;
4+
import android.os.Bundle;
5+
6+
import com.andryyu.thread.R;
7+
8+
9+
public class AsyncTaskActivity extends AppCompatActivity {
10+
11+
@Override
12+
protected void onCreate(Bundle savedInstanceState) {
13+
super.onCreate(savedInstanceState);
14+
setContentView(R.layout.activity_async_task);
15+
16+
}
17+
}

0 commit comments

Comments
 (0)