Androidデータベース入門終了
本格的にどれがどのように動作しているかわからなくなってきました。
そろそろ、演習して習った内容をアウトプットしていかないと知識が身につかないですね。
SQLite入門 6回まで
.tables どのテーブルがあるか確認
.schema 中身の確認
.drop table 名前 デーブルの削除
alter table 名前 rename to 変更したい名前;
テーブルの名前の変更
alter table 名前 add column 追加したいカラム;
カラムの追加
Androidリストビューできた!
[evernote:d03670b6a01be642403ce651d0369c83 アップロード中]
ドットインストールさんの力でできたけど、完全に写経状態になりつつあるけど大丈夫ですかね。^^;
自分でアプリを作るときにこういう機能あったなーって感じで思い出して利用できればいいと考えています。
Androidリストビュー入門終了
- getView()の実装
- adapterの設定
- ViewHolder
- setTag()、getTag()
package com.example.makabe.mylistviewapp;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView myListView = (ListView) findViewById(R.id.myListView);
//データを準備
ArrayList users = new ArrayList<>();
int[] icons = {
R.mipmap.ic_launcher,
R.mipmap.ic_launcher,
R.mipmap.ic_launcher
};
String[] names = {
"Makabe",
"Yamada",
"Doujima"
};
String[] locs = {
"Toda",
"Machida",
"Shibuya"
};
for (int i = 0; i < icons.length; i++) {
User user = new User();
user.setIcon(BitmapFactory.decodeResource(
getResources(),
icons[i]
));
user.setName(names[i]);
user.setLoc(locs[i]);
users.add(user);
}
//Adapter - ArrayAdapter
UserAdapter adapter = new UserAdapter(this, 0, users);
//ListViewに表示
myListView.setAdapter(adapter);
//Event
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(
AdapterView<?> adapterView,
View view,//タップされたView
int i, //何番目?
long l//View id
){
TextView name = (TextView) view.findViewById(R.id.name);
Toast.makeText(
MainActivity.this,
Integer.toString(i) + ":" + name.getText().toString(),
Toast.LENGTH_SHORT
).show();
name.setText("Tapped!");
}
});
}
public class UserAdapter extends ArrayAdapter {
private LayoutInflater layoutInflater;
public UserAdapter(Context c, int id, ArrayList users) {
super(c, id, users);
this.layoutInflater = (LayoutInflater) c.getSystemService(
Context.LAYOUT_INFLATER_SERVICE
);
}
@Override
public View getView(int pos, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = layoutInflater.inflate(
R.layout.list_item,
parent,
false
);
holder = new ViewHolder();
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
holder.name = (TextView) convertView.findViewById(R.id.name);
holder.loc = (TextView) convertView.findViewById(R.id.loc);
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
User user = (User) getItem(pos);
holder.icon.setImageBitmap(user.getIcon());
holder.name.setText(user.getName());
holder.loc.setText(user.getLoc());
return convertView;
}
}
static class ViewHolder {
ImageView icon;
TextView name;
TextView loc;
}
public class User {
private Bitmap icon;
public Bitmap getIcon() {
return icon;
}
public void setIcon(Bitmap icon) {
this.icon = icon;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
private String loc;
}
}