前に書く
今日私がしたのはアドレスブックです:連絡先のリスト、連絡先の追加、依存関係のインポート、データベース操作
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>
効果:
2ページ目
【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;android.content.Intentをインポートします。
android.os.Bundleをインポートします。
android.view.Viewをインポートします。
import android.widget.EditText;
android.widget.ListViewをインポートします;
android.widget.TextViewをインポートします。
androidx.appcompat.app.AppCompatActivityをインポートします。
パブリッククラスMainActivityは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.依存関係をインポートします
-
インポートする必要のあるパッケージをダウンロードします:
ormliteウェブサイト
ダウンロード:[ormlite-android:5.0] [ormlite-core:5.0]
-
次のパッケージをlibディレクトリに配置します。
3. build.gradleにインポートします:
implementation 'com.j256.ormlite:ormlite-android:5.0'
implementation 'com.j256.ormlite:ormlite-core:5.0'
総括する:
今日は、名簿のUIとボタンを実装したばかりですが、データベースでチュートリアルを読む方法がまだわかりません。学習するには、明日もう一度チュートリアルを見つける必要があります。