gpt4 book ai didi

java - 我在哪里可以找到 android studio 中的数据库和表记录?

转载 作者:行者123 更新时间:2023-11-29 04:13:41 25 4
gpt4 key购买 nike

在应用程序中有两个 Activity 的 list 代码。
AnroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.nexus.movierate">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".DirectoryName"></activity>

</application>

</manifest>

mainactivity 包含布局和按钮单击事件,它将用于 MovieRatingDataHelper.java 以及用于在 insert () 方法中插入数据的包含代码。

主 Activity .java

    package com.example.nexus.movierate;

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.Toast;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RatingBar;
import android.content.Intent;
import android.widget.Spinner;
import android.widget.ArrayAdapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;


public class MainActivity extends AppCompatActivity implements
RatingBar.OnRatingBarChangeListener {

private EditText moviename;
private EditText userReview;
private EditText releaseYear;
private EditText movieDuration;
private RatingBar yourRating;
private EditText movieStarring;
private EditText movieDirector;
private Button mSaveButton;
private Spinner mGeners;


String name;
String year;
String duration;
String review;
String director;
String starcast;
double rating;
String genre;

SQLiteOpenHelper openHelper;
SQLiteDatabase db;
private ArrayAdapter <String> mAdapter;
MovieRatingDataHelper mDataHelper;


/*Array containing the genres to which a movie can belong*/
private String[] mGenresData = {
"-Select Genre-",
"Action", "Adventure", "Animation", "Biography", "Comedy", "Crime", "Documentry", "Drama", "Family", "Fantasy", "FilmNoir",
"Game-Show", "History", "Horror", "Music", "Musical", "Mystery", "News", "RealityTV", "Romance", "Scifi", "Sport", "TalkShow",
"Thriller", "War", "Western"};



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

/* Initialized variable */
moviename = (EditText) findViewById( R.id.editText2 );
userReview = (EditText) findViewById( R.id.editText1 );
releaseYear = (EditText) findViewById( R.id.editText3 );
movieDuration = (EditText) findViewById( R.id.editText4 );
yourRating = (RatingBar) findViewById( R.id.ratingBar1 );
movieStarring = (EditText) findViewById( R.id.editText5 );
movieDirector = (EditText) findViewById( R.id.editText6 );
mSaveButton = (Button) findViewById( R.id.button1 );


yourRating.setOnRatingBarChangeListener( this );
mGeners = (Spinner) findViewById( R.id.spinner1 );
// mDataHelper = new MovieRatingDataHelper(this);

mAdapter = new ArrayAdapter <String>( this, android.R.layout.simple_spinner_item, mGenresData );
mAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
mGeners.setAdapter( mAdapter );
movieDirector.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View arg0 ) {
//TODO Auto - generated method stub
Intent mAutoCompleteIntent = new Intent( MainActivity.this, DirectoryName.class );
startActivityForResult( mAutoCompleteIntent, 0123456 );
}
} );

mSaveButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View arg0 ) {

db=openHelper.getWritableDatabase();
name = moviename.getText().toString();
year = releaseYear.getText().toString();
duration = movieDuration.getText().toString();
review = userReview.getText().toString();
director = movieDirector.getText().toString();
starcast = movieStarring.getText().toString();
rating = yourRating.getRating();
genre = mGeners.getSelectedItem().toString();

if (mGeners.getSelectedItem().toString().equalsIgnoreCase( "-Select Genre-" )) {
Toast.makeText( MainActivity.this, "Please Select valid Genre", Toast.LENGTH_SHORT ).show();
return;
}

/*Check if any of the values is blank.Display a message accordingly */
if (year.equalsIgnoreCase( "" ) && duration.equalsIgnoreCase( "" )
&& starcast.equalsIgnoreCase( "" ) || name.equalsIgnoreCase( "" )
|| director.equalsIgnoreCase( "" ) || review.equalsIgnoreCase( "" )) {
Toast.makeText( MainActivity.this, "Please fill all the fields.", Toast.LENGTH_SHORT ).show();
} else {


Toast.makeText( MainActivity.this, "Validation successful", Toast.LENGTH_SHORT ).show();


Toast.makeText( MainActivity.this, "MOVIE NAME IS " + rating, Toast.LENGTH_LONG ).show();

insert(name,genre,year,duration,rating,review,starcast,director);
Intent mReviewListIntent = new Intent( MainActivity.this, ReviewListActivity.class );
startActivity(mReviewListIntent);
}
}
} );
}

private void insert( String name, String genre, String year, String duration, double rating, String review, String starcast, String director ) {

try
{
ContentValues cv = new ContentValues();
cv.put(MovieRatingDataHelper.V_moviename,name);
cv.put(MovieRatingDataHelper.V_genre,genre);
cv.put(MovieRatingDataHelper.V_year,year);
cv.put(MovieRatingDataHelper.V_duration,duration);
cv.put(MovieRatingDataHelper.V_rate,rating);
cv.put(MovieRatingDataHelper.V_review,review);
cv.put(MovieRatingDataHelper.V_starring,starcast);
cv.put(MovieRatingDataHelper.V_director,director);

db.insertOrThrow(MovieRatingDataHelper.Table_Name, null,cv);

// sqlDB.execSQL("INSERT INTO movie_rate(moviename,genre,year,duration,rate,review,starring,director) values (name,genre,year,duration,4,review,starcast,director)");
Toast.makeText(MainActivity.this,"Data Successfully Inserted", Toast.LENGTH_SHORT).show();

}
catch (Exception ex)
{
Log.e("Issue" , ex.toString());
}



}

/*protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);

try
{
if((requestCode == 0123456) && (resultCode == Activity.RESULT_OK))
{
Bundle myResults = data.getExtras();
String vresult = myResults.getString("key");
movieDirector.setText(vresult);
}
}

catch(Exception e)
{
movieDirector.setText("Oops! - " + requestCode + "" + resultCode);
}
}
*/
@Override
public void onRatingChanged( RatingBar ratingBar, float arg1, boolean fromUser ) {
yourRating.setRating( arg1 );
}
}

MovieRatingDataHelper.java

     package com.example.nexus.movierate;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;


class MovieRatingDataHelper extends SQLiteOpenHelper
{
public static final String DataBase_Name = "MyDB.db";
public static final String Table_Name = "movie_rate";
public static final String V_moviename = "moviename";
public static final String V_genre = "genre";
public static final String V_year = "year";
public static final String V_duration = "duration";
public static final String V_rate = "rate";
public static final String V_review = "review";
public static final String V_starring = "starring";
public static final String V_director = "director";
public static final int DataBase_Version = 1;

public MovieRatingDataHelper( Context context )
{
super( context, DataBase_Name, null, DataBase_Version );
}

@Override
public void onCreate( SQLiteDatabase db )
{
db.execSQL("Create Table "+Table_Name+"(moviename TEXT,genre TEXT,year INT,duration INT,rate INT,review TEXT,starring TEXT,director TEXT)");
}

@Override
public void onUpgrade( SQLiteDatabase db, int oldVersion, int newVersion )
{
db.execSQL(" DROP TABLE IF EXISTS "+Table_Name);
onCreate(db);
}
}

我已经实现了 movieRate 应用程序,其中插入了电影名称、评级、导演姓名、主演等数据。我正在使用 android studio 并且无法在 android studio ADM 中找到数据库和表,感染我在 android studio 中没有 tools/android/ADM 选项。我在哪里可以找到该选项,也无法正确插入数据...

我在运行应用程序时发现此错误,但应用程序停止了。

java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.database.sqlite.SQLiteOpenHelper.getWritableDatabase()' on a null object reference

最佳答案

无论您是使用移动设备还是在模拟器上工作,数据库文件都存储在路径“/data/data/[your_package_name]/databases”中。每当您动态创建数据库时,它实际上会创建两个文件,一个是 database 文件,第二个是 -journal 文件。

关于java - 我在哪里可以找到 android studio 中的数据库和表记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53606295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com