0

为了理解 David Chandler 对 stORM 的使用,我构建了一个示例应用程序来插入和从数据库中获取值。

项目是这样的:

我有一个 EditText,我在其中输入名称并单击按钮(插入)。这应该将名称插入数据库。

我有另一个按钮(FETCH),它应该在单击并打印到 Logcat 时从数据库中获取所有名称。

就这样。

我已经完成了项目设置并包含了所有需要的 .jar 文件。插入工作正常,但我不知道如何获取数据库中的名称并将其显示到 Logcat。

我执行插入和获取的活动。

package com.example.stormdemo;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import com.example.stormdemo.dao.PersonDao;
import com.example.stormdemo.dao.PersonTable;

import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.text.Editable;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

    long my_id = 0;

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

        final EditText e_name = (EditText) findViewById(R.id.editText1);

        final PersonDao dao = new PersonDao(this);
        final Person newPerson = new Person();

        final PersonTable pt = new PersonTable();

        Button insert = (Button) findViewById(R.id.buttonInsert);
        Button fetch = (Button) findViewById(R.id.buttonFetch);
        Button clear = (Button) findViewById(R.id.buttonClear);

        insert.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                String name = e_name.getText().toString();

                newPerson.setName(name);
                System.out.println(name);

                long newPersonId = dao.insert(newPerson);

                my_id = newPersonId;

                System.out.println(my_id);

            }
        });

        fetch.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                Person p = dao.get(my_id);

                List<Person> list = dao.listAll();

                int ind = list.indexOf(list.iterator());

                System.out.println(p.getName());
            }
        });

        clear.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                dao.deleteAll();

            }
        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}
4

1 回答 1

1

http://www.youtube.com/watch?v=6fU17zdW9Ks 我正在做几乎同样的事情。我想将一个 android Location 类型存储到数据库中,上面的链接是一个好的开始,但我的问题是你存储的文本是字符串还是 XML 按钮?Storm 允许您编写自定义类型转换器,但我还没有弄清楚。

于 2013-09-27T03:50:33.113 回答