免责声明:我是Android开发的新手:)
如何将从第一个类收集的字符串值传递给下面的类?我尝试了这个,但只获得了空值。
这是我的主要活动。
public class SnapToSellDataSource {
private SQLiteDatabase mDatabase;
private SnapToSellHelper mHelper;
private Context mContext;
public SnapToSellDataSource(Context context){
mContext = context;
mHelper = new SnapToSellHelper(mContext);
}
public void insertUser(Register register){
ContentValues values = new ContentValues();
values.put(SnapToSellHelper.COL_NAME, register.sFullname);
values.put(SnapToSellHelper.COL_EMAIL, register.sEmail);
values.put(SnapToSellHelper.COL_NUMBER, register.sMobileNumber);
values.put(SnapToSellHelper.COL_PASSWORD, register.sPassword);
mDatabase.insert(SnapToSellHelper.TBL_USERS, null, values);
}
}
这是应该接收字符串值的类:
void func()
{
...
char str[3] = "nvm";
char str2[3] = "nbd";
my_strcat(str, str2);
...
}
我试图从第二个类获取getText,getString,但我的应用程序崩溃了,因为小部件尚未在类级别分配id。传递包含在quoation标记中的实际字符串值(""),这意味着正确设置了DatabaseHelper。
我也试过声明类变量并为它们分配小部件值但是仍然得到了#34;无法解析符号"错误。
如何读取局部变量并将它们传递给类变量,然后可以将其设置为public并由另一个类读取;在这种情况下,第二类?
答案 0 :(得分:1)
您无法在Android中简单地创建活动的实例。活动不是您只需要执行“ new ”并调用其构造函数的类。应用程序启动时或Intent启动活动时会创建一个Activity实例。
这样做: 注册寄存器=新注册(); 不好!你可以找到好的论据here
相反,您可以将这些值作为参数传递给 insertUser(params ...)方法,或者创建一个新的User类并使用这些字符串值对其进行实例化并将其传递给 insertUser(用户) 方法。
方法调用:
mDataSource.insertUser(sFullname, sEmail, sMobileNumber, sPassword);
方法定义:
public void insertUser(String sFullname, String sEmail, String sMobileNumber, String sPassword) {
ContentValues values = new ContentValues();
values.put(SnapToSellHelper.COL_NAME, sFullname);
values.put(SnapToSellHelper.COL_EMAIL, sEmail);
values.put(SnapToSellHelper.COL_NUMBER, sMobileNumber);
values.put(SnapToSellHelper.COL_PASSWORD, sPassword);
mDatabase.insert(SnapToSellHelper.TBL_USERS, null, values);
}