heikyoのblog

[Android] SQLiteデータベースを作成して、ListViewで一覧表示する

ドカベンの明訓高校五人衆のSQLiteデータベースを作成して、ListViewで一覧表示したいと思う。

まずはデータベースの作成

DatabaseOpenHelper.java


package jp.sample;

 

import android.content.ContentValues;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseOpenHelper extends SQLiteOpenHelper {

// データベース名

private static final String DB_NAME = "MEMBER";

// テーブル名

public static final String TABLE_NAME = "member";

// カラム名

public static final String COLUMN_ID = "_id";

public static final String COLUMN_NAME = "name";

public static final String COLUMN_POSITION = "position";

public static final String COLUMN_NUMBER = "number";

//初期投入サンプルデータ

private String[][] datas = new String[][]{

{"山田太郎", "捕手", "2"},

{"岩鬼正美", "三塁手", "5"},

{"里中智", "投手", "1"},

{"殿馬一人", "二塁手", "4"},

{"微笑三太郎", "外野手", "7"}

};

/**

* コンストラクタ

*/
public DatabaseOpenHelper(Context context) {

// 指定したデータベース名が存在しない場合は、新たに作成されonCreate()が呼ばれる

// バージョンを変更するとonUpgrade()が呼ばれる

super(context, DB_NAME, null, 1);

}

/**

* データベースの生成に呼び出されるので、 スキーマの生成を行う

*/

@Override

public void onCreate(SQLiteDatabase db) {

db.beginTransaction();

try{

// テーブルの生成

StringBuilder createSql = new StringBuilder();

createSql.append("create table " + TABLE_NAME + " (");

createSql.append(COLUMN_ID + " integer primary key,");

createSql.append(COLUMN_NAME + " text,");

createSql.append(COLUMN_POSITION + " text,");

createSql.append(COLUMN_NUMBER + " text");

createSql.append(")");

db.execSQL( createSql.toString());

db.setTransactionSuccessful();

} finally {

db.endTransaction();

}

// サンプルデータの投入

db.beginTransaction();

try{

for( String[] data: datas){

ContentValues values = new ContentValues();

values.put(COLUMN_NAME, data[ 0]);

values.put(COLUMN_POSITION, data[ 1]);

values.put(COLUMN_NUMBER, data[ 2]);

db.insert(TABLE_NAME, null, values);

}

db.setTransactionSuccessful();

} finally {

db.endTransaction();

}

}

//データベースの更新

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}


これでデータベースを作成できます。
次に作成したデータベースをListViewに表示させます。(エミュレーターで起動させるのは全部作ってから!!)

MemberList.java

package jp.sample;


import
android.app.Activity;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

import android.widget.ListAdapter;

import android.widget.ListView;

import android.widget.SimpleCursorAdapter;


public
class MemberList extends Activity {

protected SQLiteDatabase db;

protected Cursor cursor;

protected ListAdapter adapter;

protected ListView cigaretteList;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

db = (new DatabaseOpenHelper(this)).getWritableDatabase();

cigaretteList = (ListView)findViewById(R.id.list);

Cursor c = db.query("member", null, null, null, null, null, null);

c.moveToFirst();

cigaretteList.setAdapter(new SimpleCursorAdapter(this

R.layout.list_item,

c, 

new String[] {"name", "position", "number"}, 

new int[] {R.id.name, R.id.position, R.id.number}));

}


最後にxmlファイルです。(2つあります。)

main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

<ListView 

android:id="@+id/list"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

</LinearLayout>


list_item.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="8px">

<TextView

android:id="@+id/name"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<TextView

android:id="@+id/position"

android:layout_marginLeft="6px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<TextView

android:id="@+id/number"

android:layout_marginLeft="6px"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>


これでとりあえずデータベースの作成、簡単な利用ができるはず!!

ほとんど知られていない週末だけで20万円を手にする方法

週末の午前中のせどりだけで売上40万を達成!!

せどりを始めて半年、ブックオフで週末のセール狙いでせどりをしていますが、2月は初めて、売上40万を超えました!!(2人でやってるけど...) ということで、いま現在の"僕らのやり方"をおおまかに紹介したいと思います。

仕入れ基準


まず、仕入れる際に基準にしているのは、ランキングとその商品の最低出品価格。 ・基本的には10万位以内 ・仕入れ値(ブックオフでの売値)、最低出品価格との差額が最低でも300円以上あるもの これだけ! 補足すると、 ランキングがある程度高い商品(ここでは10万位以内)は、だいたい1ヶ月から長くても2ヶ月あれば売れていくので、在庫として売れ残ることがほとんどありません(当たり前といえば当たり前)。 そしてだいたい上記の期間で売れてくれれば、日々行われていく価格改定のなか、最終的なAmazonでの売値が仕入れ値を下回ることもほとんどありません。

在庫数


現在の在庫の数は700冊前後。 せどりを始めた当初、あるせどらーの方がブログで「在庫400冊で月の利益10万を超えることは十分可能」と言われているのを目にしたことがありますが、 現時点で僕らの場合もまさに同じことが言えます。常に800冊ほどの在庫があれば、上記のような仕入れ基準で売上40万(利益は20万)は十分狙えるでしょう。 最初は、それなりに在庫の数を増やしていかなければいけないので赤字になることもあると思いますが、 続けていれば、在庫も増え、"仕入れの数"と"売上件数"が比例した良い循環が出来てくると、安定した収入になってくるでしょう。

本以外の仕入れ


最近は、お金をもっとうまく回していこうということで、DVDの仕入れにも手を出し始めました。 本に比べ、DVDは仕入れ時点での単価も当然高く、Amazonで"新品"の商品が定価より安く売られていることもあり、なかなか難しい部分もあります。 ですが反対に、売れたときの単価も高いので、注文が入った時のうれしさはかなりのものです。 仕入れ基準を本のときより慎重に定め(ランキング、差額)、徐々に在庫を増やす、という方法をとれば、まずまずの成果が得られるはずです。 とはいえ、本の仕入れと比べ、DVDの仕入れは店頭に並ぶ絶対数の上でも圧倒的に少ないので、本の代替とはなりません。並行して行うのが良いでしょう。 ※ちなみにDVDの仕入れでは、日本のドラマより安く売っている"韓国ドラマのDVD-BOX"が、狙い目 。

まとめ

せどりのメリットは、パソコンに関するスキルも不要で、インターネットさえ繋がっていれば、誰でも始めることが出来ることだと思います。実際、仕入れをしているじいさんも結構目にするし。とりあえず、最初は自分の家にある要らなくなった本を売ってみるのがいいと思います(今までブックオフで売っていたことを後悔するはず)。それで、自分にも出来ると思ったら、ブックオフで、実際に本を仕入れてみるといいでしょう。

せどりをしていらっしゃる方はたくさんいて、仕入れる際の基準も人それぞれ違うと思いますが、順調に進んでいるので、この方法で、やっていきたいと思っています。 またこのブログをご覧になったせどらーの方と情報交換ができたらなと思っています
livedoor プロフィール
記事検索
カテゴリ別アーカイブ
  • ライブドアブログ
heikyoのblog