hamidreza.kh

توسعه دهنده اندروید
  • تعداد ارسال ها

    29
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

2 Neutral

درباره hamidreza.kh

  • درجه
    Member
  • تاریخ تولد
  1. خسته نباشید دوستان من توی لایوتم چیز کردم انیمیشن اضافه کردم اما اپ کند شده !!! یعنی روی نکسوس 5 خیلی کنده و لگ داره اما روی نکسوس 5p مشکلی نداره و بدون لگ اجرا میشه حدس خودم اینه ک چون سیستم نکسوس 5p قوی تره اینجوریه اما چون خیلی از دیوایس هایی که تو کافه بازارن سیستمشون قوی نیست و در کل نباید با اضافه کردن یه انیمیشن اپ انقد کند بشه !!!! کد هارو میزارم دوستان کار بلد چک کنید ببینم مشکل از چی میتونه باشه؟!! لایوتم <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.wordstutorial.hamidrezak.wordstutorials.View.Activity.MainActivity"> > <ImageView android:id="@+id/image_view_box" android:layout_width="match_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:scaleType="centerCrop" android:src="@drawable/pplay_activity" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/Standard_margin_x2"> <ImageView android:id="@+id/image_sun" android:layout_width="80dp" android:layout_height="70dp" android:background="@drawable/sun_image" android:layout_alignParentRight="true" android:scaleType="centerCrop" android:adjustViewBounds="true" /> <ImageView android:layout_width="80dp" android:layout_height="70dp" android:background="@drawable/main_sun_image" android:layout_alignParentRight="true" android:scaleType="centerCrop" android:adjustViewBounds="true" /> </RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:id="@+id/linear1" android:layout_margin="@dimen/Standard_margin_x2" android:weightSum="2" > <com.wordstutorial.hamidrezak.wordstutorials.CustomFonts.CustomFontButton android:id="@+id/btn_one_box" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:background="@drawable/button_answer222" android:text="کلمات آسان" android:textColor="@color/colorAccent" android:textSize="@dimen/large_font_size" /> <com.wordstutorial.hamidrezak.wordstutorials.CustomFonts.CustomFontButton android:id="@+id/btn_four_box" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:background="@drawable/button_answer222" android:layout_marginLeft="@dimen/Standard_margin_x2" android:text="کلمات دشوار" android:textColor="@color/colorAccent" android:textSize="@dimen/large_font_size" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/linear1" android:gravity="center_horizontal" android:weightSum="2" > <com.wordstutorial.hamidrezak.wordstutorials.CustomFonts.CustomFontButton android:id="@+id/btn_two_box" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:background="@drawable/button_answer222" android:text="کلمات متوسط" android:textColor="@color/colorAccent" android:textSize="@dimen/large_font_size" /> <com.wordstutorial.hamidrezak.wordstutorials.CustomFonts.CustomFontButton android:id="@+id/btn_three_box" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.5" android:background="@drawable/button_answer222" android:layout_marginLeft="@dimen/Standard_margin_x2" android:text="کلمات نسبتا دشوار" android:textColor="@color/colorAccent" android:textSize="@dimen/large_font_size" /> </LinearLayout> </RelativeLayout> اینم کلاس اون لایوت و اکتیویتی تو جاوا package com.wordstutorial.hamidrezak.wordstutorials.View.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.animation.Animation; import android.view.animation.RotateAnimation; import android.widget.Button; import android.widget.ImageView; import com.wordstutorial.hamidrezak.wordstutorials.R; public class BoxsActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_boxs); ImageView sunImage=(ImageView) findViewById(R.id.image_sun); RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotateAnimation.setDuration(7000); rotateAnimation.setFillAfter(true); rotateAnimation.setRepeatCount(RotateAnimation.INFINITE); rotateAnimation.setRepeatMode(Animation.REVERSE); sunImage.startAnimation(rotateAnimation); Button btnBoxOne=(Button)findViewById(R.id.btn_one_box); btnBoxOne.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(BoxsActivity.this,WordsActivity.class); BoxsActivity.this.startActivity(intent); } }); } } ممنون میشم کمک کنید؟!
  2. مثلا من میخوام توی این عکس اون دوتا جا جای سمت چپ عکس بزارم و جای سمت راست میخوام چیز کلمه بزارم ! حالا چجوری فاصله هاشو تنظیم کنم ک دقیقا باشه رو همه سایز صفحه نمایش؟
  3. آیا میشه یه جور تعریف کرد که مقدار dp برای هر صفحه نمایش یه مقدار خاصی باشه؟ یا اینکه این کار کار استانداردی نیست؟!
  4. ممنونم حالا بهتر شد اما بازم چون من میخوام مثلا اون پارامتری که میخوام (بر فرض مثال طول) رو خودم تنظیم کنم مثلا 200dp بازم با تو سایز ها با اینکه بهتر میشه اما بازم این dp ها دقیق نمیشن و فاصله ها متفاوتن حتی اختلافشون تو صفحه نمایش مثلا 5.2 اینچی یا 4.7 اینچی هم زیاده چ برسه به 7 یا 8 اینچ یعنی تنها راه حل اینه که ویو رو فقط یا wrap content یا match parent بدم؟! راه دیگه نداره؟!
  5. ممنونم تفاوتی نداره بر اساس ارتفاع تنظیم کنیم یا طول؟!
  6. میشه دقیق تر توضیح بدید؟!
  7. سلام من به دوتا مشکل بزرگ خوردم هرکاریم میکنم بازم درست نمیشه مشکل اول اینکه من یه عکس و یه نوشته دارم،میخوام با یه فاصله معین از سمت راست و چپ و دقیقا اون جایی که میخوام تو صفحه قراره بگیرن(جوریم نیستن که به نسبت دیگر ویو ها تنظیمش کنم،اینجور نمیشه) خلاصه الان با dp تنظیم کردم فاصله هارو،میرم توی اپ عکسم اوکیه ولی اون نوشته ام اگه 6 کاراکتر داشته باشه دقیقا اون جایی قرار میگیره ک من میخوام !! اگه بیشتر باشه میاد راست اگرم کمتر باشه تعداد کاراکتر های تکستم،میان چپ!!! اطلاعاتم از دیتابیس میگیرم...ممنون میشم کمکم کنید !! یه مشکل دیگه هم که دارم ! فاصله هارو با اینکه با dp تنظیم میکنم اما بازم رو دست گاه های مختلف خراب میشه(حتی دستگاهایی که سایزشون نزدیکه) دلیل و راه حلش چیه؟! ممون میشم کمک کنید
  8. ممنونم بهله اینو خودمم پیاده سازی کردم اما میخوام همین حالت س بعدی نمیدونم همین شکلی باشه که شیک باشه الان چیزی که من پیاده سازی کردم با روش شما اینه میخوام دقیقا مثل همون بشه،آیا کتابخونه ای چیزی هست که یه چیزی شبیه اش هم در بیاره عیب نداره؟
  9. سلام دوستان خسته نباشید این ویو که داخلش حروف قرار کرفته ویو پیجر هست یا ریسایکلر ویو؟ چجوری پیاده سازیش کنم؟ الان با ریسایکلر ویو و لاینیر لایوت منیجر افقی تقریبا نزدیک اینه اما این خیلی زیبا تره http://uupload.ir/files/8fxg_gfnh.jpg
  10. خسته نباشید دوستان من میخوام یه مقداری رو بگیرم که داخل تیبل settings از دیتابیسم بصورت key ,value ذخیرش کردم key ش sound هست که از نوع ورکرکتر هست و میخوام اگه مقدارش 1 هست یه عکسی رو نشون بده اگرم مقدارش 0 هست یه عکس دیگه رو(همزمان اگه مقدار 1 بود صدا پخش بشه اگرم 0 بود پخش نشه) خلاصه مطلب اما به یه اروری خوردم حالا میخواستم ببینم ایراد از کجاست؟! این کلاس دیتابیس منیجرم public class DatabaseManager extends SQLiteOpenHelper { private Context context; private static String DB_PATH = "data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/"; private static String DB_NAME = "words_db.db"; public static String DB_TABLE_WORDS ="words"; public static String BD_TABLE_PLAY="play"; public static String DB_TABLE_SETTINGS="settings"; private static int DB_VERSION = 2; private SQLiteDatabase dbase; public DatabaseManager(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; } public void createDatabase(){ boolean dbExist = checkDatabase(); if (dbExist) { Log.d("TAG", "Database already Exist"); } else { this.getReadableDatabase(); } try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } private boolean checkDatabase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB=SQLiteDatabase.openDatabase(myPath , null, SQLiteDatabase.OPEN_READWRITE); } catch (SQLiteException e) { } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } private void copyDataBase() throws IOException { InputStream myInput = context.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, length); } myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLiteException { String myPath = DB_PATH + DB_NAME; dbase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); } public Cursor queryData(String query) { return dbase.rawQuery(query, null); } @Override public synchronized void close() { if (dbase != null) dbase.close(); super.close(); } @Override public void onCreate(SQLiteDatabase db) { ///DO NOTHING } @Override public void onUpgrade(SQLiteDatabase db, int oldV, int newV) { ///DO NOTHING } public int getSoundState(){ openDataBase(); Cursor cursor=queryData( " SELECT * FROM " + DB_TABLE_SETTINGS + " WHERE key='sound' "); cursor.moveToFirst(); return Integer.parseInt(cursor.getString(2)); } public boolean setSoundState(int state){ openDataBase(); ContentValues contentValues=new ContentValues(); contentValues.put("sound",state); long result=dbase.update(DB_TABLE_SETTINGS,contentValues," key = ? " , new String[] {"sound"} ); if (result < 1){ return true; }else { return false; } } } همونطوری که میبینید متد های گتر و ستر رو برای وضعیت صدام مشخص کردم... اینم کلاسی که میخوام اطلاعاتو ویرایش کنم... public class WordActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; DatabaseManager db; private SQLiteDatabase sqLiteDatabase; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_word); Intent intent = getIntent(); final int id = intent.getIntExtra("id", 0); String word = intent.getStringExtra("word"); String imageWord = intent.getStringExtra("image"); String soundWord = intent.getStringExtra("sound"); int resID = getResources().getIdentifier(imageWord, "mipmap", getPackageName()); int resImage = this.getResources().getIdentifier(soundWord, "raw", this.getPackageName()); ImageView imageBox = (ImageView) findViewById(R.id.image_word_activity); final ImageView imageSoundState = (ImageView) findViewById(R.id.sound_state); if (db.getSoundState()==1){ Picasso.with(this).load(R.drawable.sound_play).into(imageSoundState); }else { Picasso.with(this).load(R.drawable.sound_stop).into(imageSoundState); } imageSoundState.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (db.getSoundState()==1){ if (db.setSoundState(0)){ Picasso.with(WordActivity.this).load(R.drawable.sound_stop).into(imageSoundState); } }else { if (db.setSoundState(1)){ Picasso.with(WordActivity.this).load(R.drawable.sound_play).into(imageSoundState); } } } }); TextView textBox = (TextView) findViewById(R.id.text_word_activity); Picasso.with(this).load(resID).into(imageBox); mediaPlayer = MediaPlayer.create(this, resImage); mediaPlayer.start(); textBox.setText(word); } @Override protected void onPause() { super.onPause(); mediaPlayer.release(); } اینم ارور ها 01-09 17:59:26.831 27683-27683/? I/art: Not late-enabling -Xcheck:jni (already on) 01-09 17:59:26.831 27683-27683/? W/art: Unexpected CPU variant for X86 using defaults: x86 01-09 17:59:26.883 27683-27683/com.wordstutorial.hamidrezak.wordstutorials W/System: ClassLoader referenced unknown path: /data/app/com.wordstutorial.hamidrezak.wordstutorials-1/lib/x86 01-09 17:59:26.902 27683-27683/com.wordstutorial.hamidrezak.wordstutorials W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 01-09 17:59:27.099 27683-27711/com.wordstutorial.hamidrezak.wordstutorials I/OpenGLRenderer: Initialized EGL, version 1.4 01-09 17:59:27.099 27683-27711/com.wordstutorial.hamidrezak.wordstutorials D/OpenGLRenderer: Swap behavior 1 01-09 17:59:27.160 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:27.160 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d9648a0, error=EGL_BAD_MATCH 01-09 17:59:28.300 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:28.301 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d964a60, error=EGL_BAD_MATCH 01-09 17:59:30.948 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteLog: (14) cannot open file at line 32456 of [bda77dda96] 01-09 17:59:30.948 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteLog: (14) os_unix.c:32456: (2) open(//data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/words_db.db) - 01-09 17:59:30.949 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/SQLiteDatabase: Failed to open database 'data/data/com.wordstutorial.hamidrezak.wordstutorials/databases/words_db.db'. android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209) at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193) at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:808) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:793) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:696) at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:671) at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.checkDatabase(DatabaseManager.java:63) at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.createDatabase(DatabaseManager.java:42) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.loadDatabase(WordsActivity.java:41) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.onCreate(WordsActivity.java:28) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 01-09 17:59:31.466 27683-27711/com.wordstutorial.hamidrezak.wordstutorials E/EGL_emulation: tid 27711: eglSurfaceAttrib(1146): error 0x3009 (EGL_BAD_MATCH) 01-09 17:59:31.466 27683-27711/com.wordstutorial.hamidrezak.wordstutorials W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x9d90cf20, error=EGL_BAD_MATCH 01-09 17:59:32.089 27683-27683/com.wordstutorial.hamidrezak.wordstutorials D/AndroidRuntime: Shutting down VM 01-09 17:59:32.089 27683-27683/com.wordstutorial.hamidrezak.wordstutorials E/AndroidRuntime: FATAL EXCEPTION: main Process: com.wordstutorial.hamidrezak.wordstutorials, PID: 27683 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wordstutorial.hamidrezak.wordstutorials/com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.getSoundState()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.getSoundState()' on a null object reference at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordActivity.onCreate(WordActivity.java:43) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) ممنون میشم کمک کنید ببینم مشکل از کجاست؟!
  11. مشکل از کجاست دوستان؟!
  12. سلام خسته نباشید به یه مشکلی خوردم تو فراخونی دیتابیس،نکته عجیبش اینه که من کدای دیتابیس رو دستکاری نکردم فقط از دیتابیس لوکاس استفاده میکنم یه سری تغییرات تو ستون های هر جدول تو دیتابیسم دادم و جالب تر از اون اینکه حالا که کدارو به حالت نرمالم برمیگردونم بازم ارور میده و میگه دیتابیس کپی نمیشه و نمیتونه باز بشه !!! این لیست کلاس دیتابیسم: public class DatabaseManager extends SQLiteOpenHelper { private Context context; private static String DB_PATH = "data/data/com.wordstutorial.hamidrezak.wordstutorials/databases"; private static String DB_NAME = " words_db.db "; public static String DB_TABLE_WORDS ="words"; public static String BD_TABLE_PLAY="play"; public static String DB_TABLE_SETTINGS="settings"; private static int DB_VERSION = 2; private SQLiteDatabase dbase; public DatabaseManager(Context context) { super(context, DB_NAME, null, DB_VERSION); this.context = context; } public void createDatabase() { boolean dbExist = checkDatabase(); if (dbExist) { Log.d("TAG", "Database already Exist"); } else { this.getReadableDatabase(); } try { copyDataBase(); } catch (IOException e) { e.printStackTrace(); throw new Error("Error copying database"); } } private boolean checkDatabase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB.openDatabase(myPath , null, SQLiteDatabase.OPEN_READWRITE); } catch (SQLiteException e) { } if (checkDB != null) { checkDB.close(); } return checkDB != null ? true : false; } private void copyDataBase() throws IOException { InputStream myInput = context.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, length); } myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLiteException { String myPath = DB_PATH + DB_NAME; dbase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); } public Cursor queryData(String query) { return dbase.rawQuery(query, null); } @Override public void onCreate(SQLiteDatabase db) { ///DO NOTHING } @Override public void onUpgrade(SQLiteDatabase db, int oldV, int newV) { ///DO NOTHING } @Override public synchronized void close() { if (dbase != null) dbase.close(); super.close(); } کلاس پست هایی که میخوام بگیرم از دیتابیس public class WordsActivity extends AppCompatActivity { private List<Word> words; DatabaseManager db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_words); loadDatabase(); TextAdapter wordsAdapter = new TextAdapter(this,words); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new GridLayoutManager(WordsActivity.this, 2, LinearLayoutManager.VERTICAL, false)); recyclerView.setAdapter(wordsAdapter); } public void loadDatabase() { db=new DatabaseManager(WordsActivity.this); db.createDatabase(); db.openDataBase(); words=new ArrayList<>(); Cursor cursor = db.queryData(" SELECT * FROM " + DatabaseManager.DB_TABLE_WORDS); if (cursor != null) { if (cursor.moveToFirst()) { do { Word word = new Word(); word.setId(cursor.getInt(0)); word.setTitle(cursor.getString(1)); word.setImageview(cursor.getString(2)); word.setSound(cursor.getString(3)); words.add(word); } while (cursor.moveToNext()); } } db.close(); } } اینم کلاس اداپترم public class TextAdapter extends RecyclerView.Adapter<TextAdapter.TestViewHolder> { private Context context; private List<Word> words; public TextAdapter(Context context, List<Word> words) { this.context = context; this.words = words; } @Override public TestViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.tutorial_boxs_layout, parent, false); return new TestViewHolder(view); } @Override public void onBindViewHolder(final TestViewHolder holder, int position) { final Word word=words.get(position); holder.txtTitle.setText(word.getTitle()); int resID = context.getResources().getIdentifier(word.getImageview(), "mipmap", context.getPackageName()); holder.imageWord.setImageResource(resID); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(context, WordActivity.class); intent.putExtra("id",word.getId()); intent.putExtra("word",word.getTitle()); intent.putExtra("image",word.getImageview()); intent.putExtra("sound",word.getSound()); context.startActivity(intent); } }); } @Override public int getItemCount() { return words.size(); } public class TestViewHolder extends RecyclerView.ViewHolder { private TextView txtTitle; private ImageView imageWord; public TestViewHolder(View itemView) { super(itemView); txtTitle = (TextView) itemView.findViewById(R.id.box_title); imageWord = (ImageView) itemView.findViewById(R.id.box_image); } } } اینم ارور هایی که میده --------- beginning of crash 01-09 13:30:00.085 4969-4969/com.wordstutorial.hamidrezak.wordstutorials E/AndroidRuntime: FATAL EXCEPTION: main Process: com.wordstutorial.hamidrezak.wordstutorials, PID: 4969 java.lang.Error: Error copying database at com.wordstutorial.hamidrezak.wordstutorials.DatabaseManager.createDatabase(DatabaseManager.java:57) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.loadDatabase(WordsActivity.java:41) at com.wordstutorial.hamidrezak.wordstutorials.View.Activity.WordsActivity.onCreate(WordsActivity.java:28) at android.app.Activity.performCreate(Activity.java:6662) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) مشکل از کجاست؟؟
  13. یه دنیا ممنون،با این کار اوکی شد،البته متد finish رو حذف کردم و قطع شدن مدیاپلیر هم بالا تر از این وقفه فراخونی کردم،حالا دقیقا اون چیزی شد که میخواستم،ممنونم
  14. ممنونم ولی یه مشکلی هست کد هامو ک میزارم اون تو جواب نمیده و اپ بیشتر هنگ میکنه؟! public void getAnswer(String answerString) { if (currentQ.getAnswer().equals(answerString)) { score++; Log.d("score", "Your score" + score); } if (qid < quesList.size()) { Thread stop = new Thread() { public void run() { try { sleep(500); mediaPlayer.release(); currentQ = quesList.get(qid); setQuestionView(); } catch (Exception e) { } } }; stop.start(); } else { Intent intent = new Intent(PlayActivity.this, ResultActivity.class); Bundle bundle = new Bundle(); bundle.putInt("score", score); intent.putExtras(bundle); startActivity(intent); finish(); } } کجای کار ایراد داره؟!
  15. ممنونم بهله مشکلم حل شد یه نکته ای که هستش اینه که میخوام وقتی که گزینه صحیح انتخاب میشه،یه چند ثانیه ای صبر کنه و بعد بره سوال بعدی ! باید از چه کلاسی استفاده کنم؟