java - 使用一个类中的方法到类中

标签 java android

我有两门课:

  • MyActivity.Java
  • DatabaseHandler.Java

我想从“getCurrentCar”方法中获取返回的字符串并将其放入 MyActivity.java

DatabaseHandler.Java:

public class DatabaseHandler extends SQLiteOpenHelper {
    public Car getCurrentCar() {

            SQLiteDatabase db       =   getWritableDatabase();
            String sql              =   "SELECT " + KEY_ID + "," + KEY_IMAGE + " FROM " + TABLE_CARS + "ORDER BY RANDOM() LIMIT 1";
            Cursor cursor           =   db.rawQuery(sql, new String[] {});
            Car car = null;

            try {
                if (cursor.moveToFirst()) {
                    car = new Car(Integer.parseInt(cursor.getString(0)), cursor.getString(1), cursor.getString(2), cursor.getString(3));
                }
            }
            finally {
                if (cursor != null && !cursor.isClosed()) {
                    cursor.close();
                }
                    db.close();
            }
            return car;
        }
}

我已经尝试过,但参数要求上下文。

//DatabaseHandler handler = new DatabaseHandler(contexthere);
DatabaseHandler handler = new DatabaseHandler();
handler.getCurrentCar();

我想知道如何获取该返回值并将其放入 MyActivity.java 中,以便我可以使用 BitmapFactory 重新创建图像。

谢谢

最佳答案

Context 表示当前运行时:

protected void onCreate(Bundle savedInstanceState) {
        ...........
        ...........

         // you should  instantiate 'DatabaseHandler'  here
        DatabaseHandler db = new DatabaseHandler(this); // "this" refer to the context

        ..........
        ..........

 // insert the rows
 db.createCar(new Car("Sesame street A","23423","anImage1"));
 db.createCar(new Car("Sesame street B","43543","anImage2"));

 // get the rows which you mean string
 for(Car cars : db.getCurrentCar()){
 String rows= "id : "+ cars.getID()+ " address : "+getAddress() + "postcode : "+getPostcode()+" image : "+getImage());
 }  
}

只需根据 Car 类中的“getter”方法名称调整 .getID(),getAddress(),getPostcode(),getImage() 即可,就像我一样可能会写错

** 上面的代码是我根据您通过链接共享的文件编写的。 (你的文件缺少 Car 类),但我只是预测它应该像上面这样:

关于java - 使用一个类中的方法到类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24898262/

相关文章:

android - 如何在 canvas android 上绘制带动画的圆形轨迹箭头?

java - 如何在动态微调器中添加项目之间的间距

java - 如何使用 Maven 作为后构建或预构建在特定位置复制文件和目录?

android - MediaExtractor.advance() - 比预期更早发出流结束信号

java - 在java文件中使用密码的安全方法

Android 文字转语音

java - Android:保存加密的用户名/密码时遇到问题

java - Jenkins 设置问题

java - 为什么 Content-Length 返回 -1?

java - SimpleDateFormat 给出 API 错误