在这个数字化时代,手机应用已经成为了我们生活中不可或缺的一部分。Android作为全球最受欢迎的移动操作系统,拥有庞大的用户群体。学会Android编程,不仅能够让你在求职市场上更具竞争力,还能让你实现自己的创意和想法。本篇文章将为你介绍50个实战案例,助你轻松入门手机应用开发。
实战案例一:计算器
案例描述
编写一个简单的计算器应用,支持基本的四则运算。
代码示例
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button addButton, subtractButton, multiplyButton, divideButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
addButton = findViewById(R.id.addButton);
subtractButton = findViewById(R.id.subtractButton);
multiplyButton = findViewById(R.id.multiplyButton);
divideButton = findViewById(R.id.divideButton);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String expression = editText.getText().toString();
double result = Double.parseDouble(expression.split(" ")[0]) + Double.parseDouble(expression.split(" ")[2]);
editText.setText(String.valueOf(result));
}
});
subtractButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String expression = editText.getText().toString();
double result = Double.parseDouble(expression.split(" ")[0]) - Double.parseDouble(expression.split(" ")[2]);
editText.setText(String.valueOf(result));
}
});
multiplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String expression = editText.getText().toString();
double result = Double.parseDouble(expression.split(" ")[0]) * Double.parseDouble(expression.split(" ")[2]);
editText.setText(String.valueOf(result));
}
});
divideButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String expression = editText.getText().toString();
double result = Double.parseDouble(expression.split(" ")[0]) / Double.parseDouble(expression.split(" ")[2]);
editText.setText(String.valueOf(result));
}
});
}
}
实战案例二:天气查询
案例描述
编写一个天气查询应用,用户输入城市名称,获取该城市的天气信息。
代码示例
public class MainActivity extends AppCompatActivity {
private EditText editText;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
textView = findViewById(R.id.textView);
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
String city = editText.getText().toString();
fetchWeatherData(city);
}
return false;
}
});
}
private void fetchWeatherData(String city) {
// 使用网络请求获取天气数据
// 将获取到的数据展示在textView中
}
}
实战案例三:待办事项列表
案例描述
编写一个待办事项列表应用,用户可以添加、删除待办事项。
代码示例
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> adapter;
private ArrayList<String> tasks;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
tasks = new ArrayList<>();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, tasks);
listView.setAdapter(adapter);
Button addButton = findViewById(R.id.addButton);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String task = editText.getText().toString();
tasks.add(task);
adapter.notifyDataSetChanged();
}
});
}
}
实战案例四:图片浏览
案例描述
编写一个图片浏览应用,用户可以浏览手机中的图片。
代码示例
public class MainActivity extends AppCompatActivity {
private GridView gridView;
private ArrayList<String> imagePaths;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = findViewById(R.id.gridView);
imagePaths = new ArrayList<>();
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, imagePaths);
gridView.setAdapter(adapter);
// 获取手机中图片的路径,添加到imagePaths中
// 更新adapter
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
Uri imageUri = data.getData();
String imagePath = imageUri.getPath();
imagePaths.add(imagePath);
adapter.notifyDataSetChanged();
}
}
}
实战案例五:音乐播放器
案例描述
编写一个音乐播放器应用,支持播放、暂停、切换歌曲等功能。
代码示例
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private Button playButton, pauseButton, nextButton, previousButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = new MediaPlayer();
playButton = findViewById(R.id.playButton);
pauseButton = findViewById(R.id.pauseButton);
nextButton = findViewById(R.id.nextButton);
previousButton = findViewById(R.id.previousButton);
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
}
});
pauseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
}
});
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 切换到下一首歌曲
}
});
previousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 切换到上一首歌曲
}
});
}
}
总结
以上介绍了5个Android实战案例,通过这些案例,你可以初步了解Android编程的基本概念和技能。接下来,你可以根据自己的兴趣和需求,选择其他案例进行学习和实践。相信通过不断的学习和实践,你一定能够成为一名优秀的Android开发者!
