使用android编程,自拟选题,完成一个android小项目,要求必须包含3个以上界面(登录页面、主页面、其他页面),完成界面设计、文件读取及listview综合使用等功能的代码
时间: 2024-03-22 09:42:58 浏览: 14
好的,以下是一个示例代码,实现了你提出的要求,其中包含了登录页面、主页面、和两个其他页面(一个是数据统计页面,一个是信息查询页面),并实现了文件读取和 ListView 综合使用的功能。在代码中,我使用了 Kotlin 语言和 Android Studio 开发环境。
1. LoginActivity.kt
```
class LoginActivity : AppCompatActivity() {
private lateinit var usernameEditText: EditText
private lateinit var passwordEditText: EditText
private lateinit var loginButton: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
usernameEditText = findViewById(R.id.username_edit_text)
passwordEditText = findViewById(R.id.password_edit_text)
loginButton = findViewById(R.id.login_button)
loginButton.setOnClickListener {
val username = usernameEditText.text.toString()
val password = passwordEditText.text.toString()
if (username == "admin" && password == "123456") {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
} else {
Toast.makeText(this, "Invalid username or password", Toast.LENGTH_SHORT).show()
}
}
}
}
```
2. MainActivity.kt
```
class MainActivity : AppCompatActivity() {
private lateinit var listView: ListView
private lateinit var data: ArrayList<String>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
listView = findViewById(R.id.list_view)
data = ArrayList()
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
listView.adapter = adapter
loadFile()
listView.setOnItemClickListener { _, _, position, _ ->
val item = data[position]
val intent = when (item) {
"Data Statistics" -> Intent(this, DataStatisticsActivity::class.java)
"Information Query" -> Intent(this, InformationQueryActivity::class.java)
else -> null
}
if (intent != null) {
startActivity(intent)
}
}
}
private fun loadFile() {
val inputStream = assets.open("data.txt")
val reader = BufferedReader(InputStreamReader(inputStream))
reader.use {
var line = reader.readLine()
while (line != null) {
data.add(line)
line = reader.readLine()
}
}
}
}
```
3. DataStatisticsActivity.kt
```
class DataStatisticsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_data_statistics)
}
}
```
4. InformationQueryActivity.kt
```
class InformationQueryActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_information_query)
}
}
```
在你的项目中,你需要创建以下布局文件:
1. activity_login.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:id="@+id/username_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="64dp"
android:hint="Username"
android:inputType="text"
android:textSize="24sp" />
<EditText
android:id="@+id/password_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/username_edit_text"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:hint="Password"
android:inputType="textPassword"
android:textSize="24sp" />
<Button
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/password_edit_text"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="32dp"
android:text="Login"
android:textSize="24sp" />
</RelativeLayout>
```
2. activity_main.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginTop="64dp"
android:divider="@android:color/black"
android:dividerHeight="1dp"
android:textSize="24sp" />
</RelativeLayout>
```
3. activity_data_statistics.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Data Statistics"
android:textSize="24sp" />
</RelativeLayout>
```
4. activity_information_query.xml
```
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Information Query"
android:textSize="24sp" />
</RelativeLayout>
```
最后,你需要在你的项目中添加一个名为 data.txt 的文本文件,里面包含了你想要在 ListView 中显示的数据。