بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در ایجاد دیتابیس {عین کد استاد}{مگه میشه}
برای ایجاد دیتابیس عین استاد کد میزنم ولی ایجاد نمیشه؟
package sm.example.asss;
import java.io.File;
import android.R.string;
import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
public class G extends Application {
public static Context context;
public static SQLiteDatabase database;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_DATABASE = DIR_SDCARD + "/databese-test/";
@Override
public void onCreate() {
super.onCreate();
context=this.getApplicationContext();
new File(DIR_DATABASE).mkdir();
database.openOrCreateDatabase(DIR_DATABASE+ "/database.sqlite", null);
}
}
0
0
به جای mkdir() بنویس mkdirs() (10 سال پیش)
0
0
باز نشد؟ (10 سال پیش)
+1
0
شما متغییر database رو initial نکردید یا اول یکبار پرش کنید یا به این شکل تغییر بدید SQLiteDatabase.openOrCreateDatabase (10 سال پیش)
0
0
نمیشه این که عین کد استاد !؟!؟ چطور پرش کنم ؟ اینو کجا تغییر بدم (10 سال پیش)
+1
0
شبیه کد استاد نیست اتفاقا و مشکل شما هم همینجاست که دقت نکردی در پاسخ زیری دوستمون مثال رو زده این مثال رو دقیقا انجام بده (10 سال پیش)
0
0
اون رو که پایین گفته بودند زدم... اینم عکس کد رو گذاشتم . (10 سال پیش)
0
0
آقای محمد حسین کاشی زاده آیا این سوال منو پاسخ میدهید ؟ (10 سال پیش)
+1
0
خب همین دیگه دقت نمیکنی کجای کد شما با کدی که دوستمون مصطفی گذاشته یکی هست ؟ (10 سال پیش)
0
0
تفاوت کد من با کد استاد که عکسش رو گذاشتم میشه بگید؟ (10 سال پیش)
0
0
من کدی رو که مصطفی گفته رو تغییر دادن ......زیرش هم گفتم که نشد !(rad
?باز نشد؟؟ ) (10 سال پیش)
+1
0
درسته حق با شماست ، من فکر کردم باید از روی SQLiteDatabase یک نمونه داشته باشیم و متد مورد نظر نیازبه نمونه داره ولی متد استاتیک هست و نیاز به نمونه گیری نداره . (10 سال پیش)
0
0
حق رو ول کن این چرا پس ایجاد نمیشه (10 سال پیش)
+1
0
یک بار کد مربوط به ایجاد دیتابیس رو کامنت کنید و پروژه رو اجرا کنید ببنید پروژه اجرا میشه یا نه . اگر نشه ینی مشکل از دیتابیس نیست و جای دیگه مشکل وجود داره ، شبیه به مشکل شما در این لینک هست . نوع ایمولیتر رو هم بگید که از کدوم استفاده میکنید جنی موشن یا AVD (10 سال پیش)
0
0
اینکه اجرا میشه اصلا کامنت هم نکنم درست میاد بالا منظورم اینه که تو قسمت File Explorer mnt/sdcard ایجاد نمیشه (10 سال پیش)
+2
0
از جنی موشن استفاده میکنی ؟ یا از AVD ؟ (10 سال پیش)
0
0
جنی موشن (10 سال پیش)
+2
0
خب مسیر فایل رو دارید اشتباه میرید ، مسیر sd card در جنی موشن این هست :
mnt->shell->emulated->0->yourFile (10 سال پیش)
0
0
ای خدا .بیین من چند روزه میگم پس چرا این دیتابیس ایجاد نمیشه .الان کلی برات لایک میزنم :) (10 سال پیش)
برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال
مصطفی
10 سال پیش
0
0
- شما باید از mkdirs() استفاده کنید
- به جای نوشتن این خط :
database.openOrCreateDatabase(DIR_DATABASE+"/database.sqlite",null);
باید از این خط استفاده کنید:
database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE+"/database.sqlite", null);
پاسخ به سوال
rad
10 سال پیش
0
0
این ارور لوگ هست
08-24 11:46:52.877: E/memtrack(2174): Couldn't load memtrack module (No such file or directory)
08-24 11:46:52.877: E/android.os.Debug(2174): failed to load memtrack module: -2
08-24 11:46:53.833: E/cutils-trace(2195): Error opening trace file: No such file or directory (2)
08-24 11:46:53.873: E/memtrack(2195): Couldn't load memtrack module (No such file or directory)
08-24 11:46:53.873: E/android.os.Debug(2195): failed to load memtrack module: -2
08-24 11:46:54.293: E/OpenGLRenderer(2206): Getting MAX_TEXTURE_SIZE from GradienCache
08-24 11:46:54.297: E/OpenGLRenderer(2206): MAX_TEXTURE_SIZE: 8192
08-24 11:46:54.305: E/OpenGLRenderer(2206): Getting MAX_TEXTURE_SIZE from Caches::initConstraints()
08-24 11:46:54.305: E/OpenGLRenderer(2206): MAX_TEXTURE_SIZE: 8192
اینم فایل Log
پاسخ به سوال
h.k.m
9 سال پیش
0
0
من هم همین مشکلو دارم
کلاً فایل دیتا بیس ساخته نمیشه و از خط زیر خطا میگیره:
database= SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE+"/database1.sqlite",null );
سلام..ممنونم که پاسخ دادی..با اندروید استادیو کارمیکنم..تنظیمات م همونایی که استاد گفتن انجام دادم..توضیح ارور اینه:
E: FATAL EXCEPTION: main
Process: com.hamid.learn.database, PID: 4854
java.lang.RuntimeException: Unable to create application com.android.tools.fd.runtime.BootstrapApplication: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
این مسیری م که گفتید اصلا فولدر shell وجود نداره (9 سال پیش)
خط های بالاتر لاگکت اندروید استادیو :
(14) cannot open file at line 31278 of [2ef4f3a5b1]
E: (14) os_unix.c (2) open(/storage/emulated/0/database-test//database1.SQLite) -
E: Failed to open database '/storage/emulated/0/database-test//database1.SQLite'.
android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
(9 سال پیش)
دقیقاً همین مسیر رو میرم ولی فایلی ساخته نشده..اینم کد کلاسG:
package com.hamid.learn.database;
import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import java.io.File;
public class G extends Application {
public static Context context;
public static SQLiteDatabase database;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_DATABASE = DIR_SDCARD + "/database-test/";
@Override
public void onCreate() {
super.onCreate();
context = this.getApplicationContext();
new File(DIR_DATABASE).mkdirs();
database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database1.sqlite", null);
database.execSQL("CREATE TABLE IF NOT EXISTS person " +
" (person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE" +
" , person_name TEXT, " +
"person_family TEXT," +
" person_age INTEGER)");
database.execSQL("INSERT INTO person (person_name,person_family,person_age) VALUES ('Ali', 'rahimi',20)");
}
}
(9 سال پیش)
پاسخ به سوال
h.k.m
9 سال پیش
0
0
android manifest :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hamid.learn.database">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:name=".G"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
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>
</application>
</manifest>
کلاس G :
package com.hamid.learn.database;
import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import java.io.File;
public class G extends Application {
public static Context context;
public static SQLiteDatabase database;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_DATABASE = DIR_SDCARD + "/database-test/";
@Override
public void onCreate() {
super.onCreate();
context = this.getApplicationContext();
new File(DIR_DATABASE).mkdirs();
database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database1.sqlite", null);
database.execSQL("CREATE TABLE IF NOT EXISTS person " +
" (person_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE" +
" , person_name TEXT, " +
"person_family TEXT," +
" person_age INTEGER)");
database.execSQL("INSERT INTO person (person_name,person_family,person_age) VALUES ('Ali', 'rahimi',20)");
}
}
gradle :
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.hamid.learn.database"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.1.1'
}
gradle project :
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
