View Full Version : چند مشکل لطفا جواب بدید
  
shs1377
سه شنبه 28 آبان 1392, 20:47 عصر
سلام دوستان من چند تا مشکل دارم لطفا راهنمایی کنید 
1 : چطوری میشه با نگاه داشتن طولانی دکمه back از برنامه خارج شد؟
2 : در گرید ویو چه دستوری برای خروج از برنامه باید استفاده کرد
3 : در گرید ویو من چند دکمه دارم که روی هر کدام که لمس میکنی ( هنگام فشار دادن)  اطراف دکمه ها آبی میشه چطور میتونم این رنگ پیش فرض رو عوض کنم
4 : آیا با زبان جاوا میتونم بازی اندروید بسازم؟ با چه برنامه ای؟
لطفا جواب بدید
mohsen22
پنج شنبه 30 آبان 1392, 00:34 صبح
ببخشید دو تا سوال دارم 
1- مسیری که دیتابس ذخیره میشه ( هم در گوشی هم در پی سی) کجاست؟
چگونه می توان بسورت دستی دیتا ها رو در دیتابیس وارد کرد(دیتا بس رو از طریق کامپیوتر پر کرد ؟)
مرسی
http://barnamenevis.org/showthread.php?401729-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1916566&viewfull=1#post1916566
rubiks.kde
پنج شنبه 30 آبان 1392, 01:24 صبح
ببخشید دو تا سوال دارم 
1- مسیری که دیتابس ذخیره میشه ( هم در گوشی هم در پی سی) کجاست؟
چگونه می توان بسورت دستی دیتا ها رو در دیتابیس وارد کرد(دیتا بس رو از طریق کامپیوتر پر کرد ؟)
مرسی
http://barnamenevis.org/showthread.php?401729-%D8%A7%D8%B6%D8%A7%D9%81%D9%87-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%88%DA%86%DA%A9-%D9%88-%D9%85%D9%81%D9%8A%D8%AF-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF&p=1916566&viewfull=1#post1916566
 
دیتا بیس توی مسیر نصب برنامه data/data/package.name/databases ذخیره میشه.
برای استفاده از پایگاه داده آماده در آندورید اول باید اون رو توی assets قرار بدی و در زمان اجرا اون رو به مسیر گفته شده در بالا کپی کنید.
من قبلا توی یکی از پروژه هام چنین کاری کرده بودم و اینم کدش
public class DataBaseHelper extends SQLiteOpenHelper {
	private static String TAG = "DataBaseHelper";
	private static String DB_PATH = "";  
	private static String DB_NAME ="test.db";
	private final Context mContext; 
	private SQLiteDatabase mDataBase;
	public DataBaseHelper(Context context) {
		super(context, DB_NAME, null, 1);
		this.mContext = context;
		DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";
		createDataBase();
	}
	private void createDataBase()
	{
		try{
			boolean mDataBaseExist = checkDataBase();
			if(!mDataBaseExist)
			{
				this.getReadableDatabase();
				this.close();
				copyDataBase();
				Log.e(TAG, "createDatabase database created");
			}
		}catch (Exception e) {
		}
	}
	private boolean checkDataBase()
	{
		File dbFile = new File(DB_PATH + DB_NAME);
		Log.i(TAG, Boolean.toString(dbFile.exists()));
		return dbFile.exists();
	}
	private void copyDataBase(){
		try {
			InputStream mInput = mContext.getAssets().open("data/help.dat");
			String outFileName = DB_PATH + DB_NAME;
			OutputStream mOutput = new FileOutputStream(outFileName);
			byte[] mBuffer = new byte[1024];
			int mLength;
			while ((mLength = mInput.read(mBuffer))>0){
				mOutput.write(mBuffer, 0, mLength);
			}
			mOutput.flush();
			mOutput.close();
			mInput.close();
		} catch (Exception e) {
		}
	}
	public ArrayList<ObjectItem> GetTableContent(){
		ArrayList<ObjectItem> items = new ArrayList<ObjectItem>();
		if(open()){
			Cursor cursor = mDataBase.rawQuery("select * from ContentTable", null);
			if(!cursor.moveToFirst()){
				close();
				return items;
			}
			
			do {
				
				ObjectItem item = new ObjectItem();
				item.setId(cursor.getInt(0));
				item.setTitle(cursor.getString(1));
				item.setPage(cursor.getInt(2));
				items.add(item);
				
			} while (cursor.moveToNext());
			close();
			return items;
		}
		return items;
	}
	private boolean open() throws SQLException
	{
		String mPath = DB_PATH + DB_NAME;
		mDataBase = SQLiteDatabase.openDatabase(mPath, null, SQLiteDatabase.CREATE_IF_NECESSARY);
		return mDataBase != null;
	}
	@Override
	public synchronized void close() 
	{
		if(mDataBase != null)
			mDataBase.close();
		super.close();
	}
	@Override
	public void onCreate(SQLiteDatabase db) {
	}
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {	
	}
}
فایل help.dat همون پایگاه داده آماده من بود
mohsen22
پنج شنبه 30 آبان 1392, 01:37 صبح
ببخشید  تو ویندوز چجوری بازش کم.... با چه نرم افزاری؟؟؟
abbasalim
پنج شنبه 30 آبان 1392, 11:34 صبح
ببخشید  تو ویندوز چجوری بازش کم.... با چه نرم افزاری؟؟؟
 
نرم افزار که زیاده sqliteman استفاده میکنم هم روی لینوکس هم ویندوز قابل اجراس
shs1377
شنبه 02 آذر 1392, 00:34 صبح
دوستان لطفا سوالات من رو هم جواب بدید
rubiks.kde
شنبه 02 آذر 1392, 01:24 صبح
سلام دوستان من چند تا مشکل دارم لطفا راهنمایی کنید 
1 : چطوری میشه با نگاه داشتن طولانی دکمه back از برنامه خارج شد؟
2 : در گرید ویو چه دستوری برای خروج از برنامه باید استفاده کرد
3 : در گرید ویو من چند دکمه دارم که روی هر کدام که لمس میکنی ( هنگام فشار دادن)  اطراف دکمه ها آبی میشه چطور میتونم این رنگ پیش فرض رو عوض کنم
4 : آیا با زبان جاوا میتونم بازی اندروید بسازم؟ با چه برنامه ای؟
لطفا جواب بدید
 
سوال اول : میتونید از کد زیر استفاده کنید 
	@Override
	public boolean onKeyLongPress(int keyCode, KeyEvent event) {
		if(keyCode == KeyEvent.KEYCODE_BACK)
		{
			Log.i("onKeyLongPress", "KEYCODE_BACK");
		}
		return super.onKeyLongPress(keyCode, event);
	}
البته روش های دیگه ایی هم داره که این راحت تره مثلا استفاده از توابع onKeyDown و onKeyUp
سوال دوم :یکم سوالتون گنگه ، مگه finish کار نمیکنه؟حتما میخواهید زمانی که روی یکی از آیتم های گرید ویو کلیک شد برنامه خارج بشه ؟ پس از finish استفاده کنید.
سوال سوم : اگه منظورتون استایل دکمه هست که به راحتی با عکس یا drawable براش یه استایل جدید بسازید ( این مورد هم به اندازه کافی مثال داره)
مثلا اگه این مورد رو به عنوان drawable به پس زمینه دکمه بدید یه استایل جدید میگیره
    <?xml version="1.0" encoding="UTF-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke 
        android:width="1dp" 
        android:color="#505050"/>
    <corners 
        android:radius="7dp" />
    <padding 
        android:left="1dp"
        android:right="1dp"
        android:top="1dp"
        android:bottom="1dp"/>
    <solid android:color="#505050"/>
</shape>
سوال چهارم :بله میتونید این کار رو انجام بدید . موتورهای بازی سازی زیادی هم وجود داره که میتونید استفاده کنید
آموزش (http://www.kilobolt.com/game-development-tutorial.html)
mohsen22
یک شنبه 03 آذر 1392, 09:33 صبح
دیتا بیس توی مسیر نصب برنامه data/data/package.name/databases ذخیره میشه.
برای استفاده از پایگاه داده آماده در آندورید اول باید اون رو توی assets قرار بدی و در زمان اجرا اون رو به مسیر گفته شده در بالا کپی کنید.
من قبلا توی یکی از پروژه هام چنین کاری کرده بودم و اینم کدش
[JAVA]public class DataBaseHelper extends SQLiteOpenHelper {
.
.
.
فایل help.dat همون پایگاه داده آماده من بود
ممنون دوست من بابت راهنمایی خوبتون 
من توابع مورد نیاز رو وارد نموده اما 
 چهار تا خطا داره :
java: cannot find symbol
  symbol:   class ObjectItem
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class OutputStream
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class FileOutputStream
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class ObjectItem
  location: class tamin.khas.DataBaseHelper
ممنون
shs1377
یک شنبه 03 آذر 1392, 13:27 عصر
با تشکر از شما آقای rubikd.kde سوال دومم هم حل شد:لبخند:
rubiks.kde
یک شنبه 03 آذر 1392, 14:40 عصر
ممنون دوست من بابت راهنمایی خوبتون 
من توابع مورد نیاز رو وارد نموده اما 
 چهار تا خطا داره :
java: cannot find symbol
  symbol:   class ObjectItem
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class OutputStream
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class FileOutputStream
  location: class tamin.khas.DataBaseHelper
java: cannot find symbol
  symbol:   class ObjectItem
  location: class tamin.khas.DataBaseHelper
ممنون
 
گفتم این برای پروژه من هست شما تابع GetTableContent() رو کاملا حذف کنید ولی توابع خودتون رو مثل اون بنویسید ابتدا open بعد از استفاده هم close
shs1377
یک شنبه 03 آذر 1392, 16:01 عصر
دوستان توجه کنید 
من از گرید ویوی استفاده میکنم که یک عکس در بالا و یک متن در پایین هر آیتمش داره من وقتی روی هر کدوم کلیک میکنم در اطراف هر آیتم رنگ آبی میاد که نشان دهنده کلیک است من منظورم رنگ تم است مثلا وقتی رو یک باتن ساده هم کلیک میکنیم یک رنگ خاص تم نشون داده میشه ( توجه کنید گفتم وقتی هیچ گونه بک گراندی نداره) 
حالا چطور میتونم این رنگ رو موقع کلیک رو گرید ویو  حذف و یا رنگ و حالتش رو شخصی سازی کنم؟؟
خداکنه کنه منظورم رو فهمیده باشید
shs1377
یک شنبه 03 آذر 1392, 16:23 عصر
لطفا جواب سوالم رو بدید
shs1377
یک شنبه 03 آذر 1392, 22:11 عصر
کسی نبود؟؟؟
shs1377
دوشنبه 04 آذر 1392, 13:11 عصر
نه واقعا کسی نبود؟؟؟:متفکر:
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.