安卓开发学习——day6

写在前面

今天做的是通讯录:联系人的列表显示,联系人的添加,导入依赖以及数据库操作

1.ui界面

查看页面包含的内容,编写布局

第一张页面

【activity_main】 ```xml <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:padding="4dp"
    android:background="#f8f8f8"
    android:orientation="horizontal"
    >
    <TextView
        android:layout_weight="8"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:gravity="center|left"
        android:textSize="24sp"
        android:textColor="@color/black"
        android:text="@string/contacts"/>
    <TextView
        android:id="@+id/tv_add"
        android:layout_weight="2"
        android:layout_width="0dp"
        android:gravity="center|right"
        android:layout_height="match_parent"
        android:textSize="22sp"
        android:textColor="@color/black"
        android:text="@string/add"
        />
</LinearLayout>

<LinearLayout
    android:layout_weight="8"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:orientation="vertical"
    android:padding="10dp"
>
    <LinearLayout
        android:background="@drawable/boder_so"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:padding="10dp">
        <ImageView
            android:src="@drawable/so"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"/>
        <EditText
            android:id="@+id/edt_find_contact"
            android:layout_width="match_parent"
            android:background="@null"
            android:layout_height="match_parent"/>
    </LinearLayout>
    <ListView
        android:id="@+id/lv_contacts"
        android:layout_weight="9"
        android:layout_width="match_parent"
        android:layout_height="0dp"/>
</LinearLayout>
效果:

第二张页面

【Activity_add】 ```xml <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_weight="1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:background="#f2f2f2"
    android:orientation="horizontal"
    >
    <ImageView
        android:id="@+id/cancel"
        android:src="@drawable/cha"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:padding="6dp"
        />
    <TextView
        android:layout_weight="6"
        android:layout_width="0dp"
        android:text="@string/add_contacts"
        android:textSize="24sp"
        android:textColor="@color/black"
        android:gravity="center|left"
        android:layout_height="match_parent"/>
    <ImageView
        android:id="@+id/ok"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:src="@drawable/gou"
        android:padding="6dp"
        />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="8"
    android:gravity="center|top"
    android:orientation="vertical"
    android:padding="50dp"
    android:paddingTop="10dp">

    <LinearLayout
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="@drawable/border_round"
        android:gravity="center">

        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/camera" />
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="保存至:手机"
        android:textColor="@color/black"
        android:textSize="20sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingBottom="20dp"
        android:text="仅保存在手机,开启云空间可同步"
        android:textSize="18sp" />

    <EditText
        android:id="@+id/edt_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="1"
        android:hint="姓名" />

    <EditText
        android:id="@+id/edt_company"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="1"
        android:hint="公司" />

    <EditText
        android:id="@+id/edt_tel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:lines="1"
        android:hint="电话号码" />
</LinearLayout>
```
效果:

2.实现按钮

【MainActivity.java】· ```java package com.example.task3;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private TextView tvAdd;
private EditText edtSo;
private ListView lvContacts;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tvAdd = findViewById(R.id.tv_add);
    edtSo = findViewById(R.id.edt_find_contact);
    lvContacts = findViewById(R.id.lv_contacts);

    edtSo.clearFocus();

    tvAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, AddActivity.class);

            startActivity(intent);
        }
    });
}

【AddActivity.java】

package com.example.task3;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class AddActivity extends AppCompatActivity {
    
    

    private ImageView ok;
    private ImageView cancel;
    private EditText edtName;
    private EditText edtCompany;
    private EditText edtTel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add);

        ok = findViewById(R.id.ok);
        cancel = findViewById(R.id.cancel);
        edtName = findViewById(R.id.edt_name);
        edtCompany = findViewById(R.id.edt_company);
        edtTel = findViewById(R.id.edt_tel);

        ok.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    

                Toast.makeText(AddActivity.this, "添加" + edtName.getText().toString().trim() + "成功"
                        ,Toast.LENGTH_LONG).show();

                Intent intent = new Intent(AddActivity.this, MainActivity.class);

                startActivity(intent);
            }
        });
        cancel.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    
                Intent intent = new Intent(AddActivity.this, MainActivity.class);

                startActivity(intent);
            }
        });

    }
}
效果:

实现

3.导入依赖

  1. 下载需要导入的包 :
    ormlite网址
    下载:【ormlite-android:5.0】【ormlite-core:5.0】

  2. 将下好的包放入lib目录下:

3.在build.gradle导入:

implementation 'com.j256.ormlite:ormlite-android:5.0'
implementation 'com.j256.ormlite:ormlite-core:5.0'

总结:


今天只是把通讯录的UI和按钮实现了,关于数据库方面看了教程还有点不会,只有明天重新找教程来学习了。

猜你喜欢

转载自blog.csdn.net/weixin_45936162/article/details/112674820