android一个萌新的问题。。

问题描述

android一个萌新的问题。。
想做一个登陆界面,首先上布局
<?xml version=""1.0"" encoding=""utf-8""?>
android:orientation=""vertical""
android:layout_width=""fill_parent""
android:layout_height=""fill_parent""
>
android:id=""@+id/button3""
android:layout_width=""wrap_content""
android:layout_height=""wrap_content""
android:text=""create""/>
android:id=""@+id/button1""
android:layout_width=""wrap_content""
android:layout_height=""wrap_content""
android:text=""Query""/>
android:id=""@+id/button2""
android:layout_width=""wrap_content""
android:layout_height=""wrap_content""
android:text=""Add""/>

<EditText        android:id=""@+id/text1""        android:layout_width=""match_parent""        android:layout_height=""wrap_content""/><EditText        android:id=""@+id/text2""        android:layout_width=""match_parent""        android:layout_height=""wrap_content""/>

就三个button和两个editview,没什么好说的
然后做了一张表
package com.example.SqlTest;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**

  • Created by Administrator on 2016/5/15.
    */
    public class Userdata extends SQLiteOpenHelper {

    public static final String CREATE_BOOK = ""create table Book(""+""id integer primary key autoincrement
    +""account text+""password text)"";

    public Userdata(Context context String name SQLiteDatabase.CursorFactory factory int version) {
    super(context name factory version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
    db.execSQL(CREATE_BOOK);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db int oldVersion int newVersion) {

    }
    }
    应该也没什么问题
    下面是mianactivity
    package com.example.SqlTest;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
/
private EditText editText1;
private EditText editText2;
private Userdata userdata;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
userdata = new Userdata(thisData.db""null1);
Button create = (Button) findViewById(R.id.button3);
create.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
userdata.getWritableDatabase();
}
});
Button add = (Button) findViewById(R.id.button2);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String input1 = editText1.getText().toString();
String input2 = editText2.getText().toString();
SQLiteDatabase db = userdata.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(""account""input1);
values.put(""password""input2);
db.insert(""Book""nullvalues);
/*values.clear();
values.put(""account""yzw"");
values.put(""password""15260880965"");
db.insert(""Book""nullvalues);
/
}
});
Button query = (Button) findViewById(R.id.button1);
query.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = userdata.getWritableDatabase();
Cursor cursor = db.query(""Book""nullnullnullnullnullnull);
if (cursor.moveToFirst()) {
do
{
String aaa = cursor.getString(cursor.getColumnIndex(""account""));
String ppp = cursor.getString(cursor.getColumnIndex(""password""));
Log.d(""MyActivity""account is ""+aaa);
Log.d(""MyActivity""password is""+ppp);
}while (cursor.moveToNext());
}
cursor.close();
}
});
}
}
代码做了两版,第一版我直接在代码里加数据到book里,这一版没问题(就是代码中注释掉的部分)
第二版我改成,获取两行editview中的内容,然后insert到book里,发现点击add按钮时程序就崩溃了。。。

实在不知道为什么会这样。。第一次在CSDN发帖,谢谢各位的解答。。

解决方案

一个android不理解的问题

解决方案二:
自己好好看看错误日志,里面必定有说明,要么就是getText为null,转换失败,要么值不符合字段类型,无法转换

时间: 2024-11-05 00:36:21

android一个萌新的问题。。的相关文章

萌新求助,windowbuilder安装总是出现提示

问题描述 萌新求助,windowbuilder安装总是出现提示 如图--我问了一个群里的,有人说什么之前没卸载干净,我也不知道咋回事--求助啊,快哭了,具体怎么操作

Android广告软件的新趋势:滥用Android插件框架,

本文讲的是Android广告软件的新趋势:滥用Android插件框架, 合法的移动应用程序通常会嵌入广告SDK或为其他应用程序打广告,毋庸置疑,展示广告或为其他应用程序打广告可为合法的应用程序提供收益.不过,最近我们观察到移动广告社区的一个令人震惊的趋势,Google Play商店中的一些广告软件程序正在滥用第三方Android插件框架DroidPlugin,这是一个实现动态加载的Android插件框架,可以免安装.免修改的运行第三方APK. DroidPlugin的原理是利用Android一个

不是萌新和不是大神的程序员还应该如何提高自己?

简评:在编程这条路上,很多人在经历了从菜鸟阶段的入门之后,往往有开始迷茫了,因为此时正处于一个不是萌新,因为很多东西你都会了,但是也不是大神,因为还有很多你都不会的尴尬阶段,觉得学习什么方面都进度比较慢,的确对于编程人员而言都会要经历这个阶段,那么如何才能突破这个阶段的瓶颈,向大神进阶呢?本文就为你分享. 想法和问题 当程序员已经处于中级时,应如何提高自己?有很多关于"学习编程"的资源,能够让人从 0 到新手(虽然这些资源中大多数的质量是值得商榷的),但是怎么样才能将中级水平提高到专家

Shashlik:Linux 上运行 Android 应用的新法子

Shashlik 是一个在通常的 GNU/Linux 发行版上加载 Android 应用的 "Android 模拟环境". Shashlik 将于7月晚些在 KDE Akademy 2015 大会上以 "一个在 '真正' Linux 上运行 Android 应用的新法子" 提到. 来自 Dan Leinir Turthra Jensen 的情报 : "Shashlik,一个尽可能小的 Android 系统和框架的集合,构建且运行于标准的.现代的 linux

Android Studio3.0新特性及安装图文教程

Android Studio是Android的官方IDE.它是专为Android而打造,可以加快您的开发速度,帮助您为每款Android设备构建最优应用. 它提供专为Android开发者量身定制的工具,其中包括丰富的代码编辑.调试.测试和性能分析工具. 一.Android Studio3.0新特性 (1).核心IDE更改 我们将基础IDE从IntelliJ 2016.2升级到2017.1.2,在2016.3和 2017.1中增加了许多新功能, 包括参数提示,语义突出显示,搜索中的即时结果等等.

我想做一个这样新用户注册界面,可是我不会把权限和姓名也写进数据库,求好心人赐一个完整代码

问题描述 我想做一个这样新用户注册界面,可是我不会把权限和姓名也写进数据库,求好心人赐一个完整代码 解决方案 看看这些http://download.csdn.net/detail/aimonhai/1480222http://download.csdn.net/download/bkzhw3/5975209http://download.csdn.net/download/fanhongwei601/4353841http://download.csdn.net/detail/qq223857

android一个普通app-Android一个普通app,后台常驻服务实现

问题描述 Android一个普通app,后台常驻服务实现 [重金求]Android一个普通app,后台常驻服务实现,例如QQ.微信等的后台消息推送服务,要求如下: 常驻后台运行,系统杀死后,可自行启动: 不能被360等手机助手杀死: 电量消耗要低 解决方案 haonanhhhhhhhhhhhh 解决方案二: haonanhhhhhhhhhhhh 解决方案三: 这个有点不现实吧 QQ 微信都是能被杀死的哟 解决方案四: Android 软件升级(后台服务 + 通知栏进度条)

Android实现QQ新用户注册界面遇到问题及解决方法_Android

在上篇文章给大家介绍了Android实现QQ登录界面遇到问题及解决方法,本篇文章继续给大家介绍有关android qq界面知识. 先给大家展示下效果图: 问题: 1.下拉列表(因为还没看到这里...) 2.标题栏显示问题 3.按钮的 Enable 设置 以下是代码: 布局 fragment_main(问题1) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools

android studio 问题-android studio导入新目后出错

问题描述 android studio导入新目后出错 Error:Cause: failed to find target with hash string 'android-21' in: E:wcxAndroidsdkOpen Android SDK Manager 解决方案 sdk目录下的platform文件夹下有android-21吗 解决方案二: 不同的按钮 设置 不同的点击事件监听就好了 bt1.setonclicklistener(new onclicklistener{ ...