1. 案例一:创建第一个Android应用
简介
在这个案例中,我们将从零开始创建一个简单的Android应用,这个应用将展示如何在Android Studio中创建项目、编写代码以及运行应用。
步骤
- 打开Android Studio,创建一个新的项目。
- 选择“Empty Activity”模板,并设置应用名称、包名等信息。
- 在主Activity中,添加一个按钮和一个文本视图。
- 编写按钮的点击事件,使其在文本视图中显示“Hello, World!”。
代码示例
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
TextView textView = findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("Hello, World!");
}
});
}
}
2. 案例二:布局文件的使用
简介
在这个案例中,我们将学习如何使用XML布局文件来设计Android应用的用户界面。
步骤
- 在项目的res/layout目录下创建一个新的布局文件。
- 在布局文件中,使用XML标签添加各种控件,如按钮、文本视图、布局容器等。
- 在Activity中,通过findViewById方法获取布局文件中的控件。
代码示例
<!-- res/layout/activity_main.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击我" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_centerHorizontal="true"
android:text="Hello, World!" />
</RelativeLayout>
3. 案例三:Intent的使用
简介
在这个案例中,我们将学习如何使用Intent在不同Activity之间进行跳转。
步骤
- 创建一个新的Activity类。
- 在主Activity中,添加一个按钮,并设置点击事件。
- 在点击事件中,创建一个Intent对象,并启动新的Activity。
代码示例
// MainActivity.java
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
4. 案例四:使用SharedPreferences存储数据
简介
在这个案例中,我们将学习如何使用SharedPreferences来存储和读取应用数据。
步骤
- 在主Activity中,添加一个按钮和一个文本视图。
- 在按钮的点击事件中,使用SharedPreferences存储数据。
- 在文本视图中,读取SharedPreferences中的数据并显示。
代码示例
// MainActivity.java
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("name", "张三");
editor.apply();
String name = sharedPreferences.getString("name", "");
textView.setText(name);
5. 案例五:使用数据库存储数据
简介
在这个案例中,我们将学习如何使用SQLite数据库来存储和查询数据。
步骤
- 创建一个新的数据库类,继承自SQLiteOpenHelper。
- 在数据库类中,定义创建数据库、更新数据库和查询数据的SQL语句。
- 在主Activity中,使用数据库类创建数据库、插入数据、查询数据。
代码示例
// DBHelper.java
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "MyDatabase.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
}
6. 案例六:使用RecyclerView展示数据
简介
在这个案例中,我们将学习如何使用RecyclerView来展示列表数据。
步骤
- 在布局文件中,添加一个RecyclerView控件。
- 创建一个适配器类,继承自RecyclerView.Adapter。
- 在适配器类中,定义布局文件和绑定数据的方法。
- 在主Activity中,初始化RecyclerView控件,并设置适配器。
代码示例
// MyAdapter.java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public MyAdapter(List<String> data) {
mData = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.textView.setText(mData.get(position));
}
@Override
public int getItemCount() {
return mData.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public ViewHolder(View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
}
}
}
7. 案例七:使用网络请求获取数据
简介
在这个案例中,我们将学习如何使用网络请求获取数据。
步骤
- 在主Activity中,添加一个按钮和一个文本视图。
- 在按钮的点击事件中,使用HttpURLConnection或OkHttp库发送网络请求。
- 将获取到的数据解析成JSON格式,并显示在文本视图中。
代码示例
// MainActivity.java
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = "http://example.com/data.json";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
textView.setText(response.toString());
}
});
8. 案例八:使用Fragment管理界面
简介
在这个案例中,我们将学习如何使用Fragment来管理界面。
步骤
- 创建一个新的Fragment类,继承自Fragment。
- 在Fragment中,定义布局文件和UI控件。
- 在主Activity中,添加一个FrameLayout控件,并使用FragmentTransaction添加Fragment。
代码示例
// MyFragment.java
public class MyFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_my, container, false);
return view;
}
}
9. 案例九:使用Service后台执行任务
简介
在这个案例中,我们将学习如何使用Service在后台执行任务。
步骤
- 创建一个新的Service类,继承自Service。
- 在Service中,重写onStartCommand方法,执行后台任务。
- 在主Activity中,启动Service。
代码示例
// MyService.java
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 执行后台任务
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
10. 案例十:使用BroadcastReceiver接收系统通知
简介
在这个案例中,我们将学习如何使用BroadcastReceiver接收系统通知。
步骤
- 创建一个新的BroadcastReceiver类,继承自BroadcastReceiver。
- 在BroadcastReceiver中,重写onReceive方法,处理系统通知。
- 在主Activity中,注册BroadcastReceiver,并设置IntentFilter。
代码示例
// MyReceiver.java
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理系统通知
}
}
通过以上10个实战案例,相信你已经对Android编程有了初步的了解。接下来,你可以根据自己的兴趣和需求,继续深入学习Android开发相关知识。祝你学习愉快!
