Farzad Sarseifi

مدیریت انجمن
  • تعداد ارسال ها

    1,591
  • تاریخ عضویت

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

  • Days Won

    72

تمامی ارسال های Farzad Sarseifi

  1. نه اصلا حرف تون درست نیست ، بدلیل اینکه اطلاعات هرچی میتواند باشد، برنامه نویس باید با هنر خود از آنها استفاده کند.. کار نشد نداره مگر اینکه سخت افزار اجازه ندهد ..پس لزومی ندارد از RSS اطلاعات رو بگیره
  2. مثال مربوطه قرار گرفت. دانلود از آپلود سنتر انجمن پی سی دروید : http://p30droid.com/Uploader/do.php?id=23 پسورد : www.p30droid.com
  3. نه اصلا ربطی به وب سرویس نداره از دیتابیس بخونید چه اشکالی داره
  4. روشی که شما میگین شی گرا نیست و تغییر دادنش در پروژه بزرگ سخت میشه..سعی کنید یک کلاس را یکبار فقط تعریف کنید، بعد هر چند دفعه که قصد دارید از آن استفاده کنید ، هم کد کمتری مینویسید و هم اینکه کد بهینه نوشته اید و هم زمان کمتری هم از دست میدهید.
  5. دوست عزیز به پی سی دروید خوش آمدید برای ساختن چنین لیستی باید یک لیست سفارشی بسازید.بدین صورت که ابتدا یک لایوت جدا برای ظاهر لیست می سازید سپس این لایوت را به لسیتی که قصد دارید نمایش داده شود وصل میکنید،در مرحله آخر یک Adapter می سازید برای اینکه اطلاعات دیتابیس در سطر به سطر لیست قرار گیرد. در سایت اگر بگردید تاپیک های زیادی در این رابطه قرار گرفته است. سعی بر آن داریم حداکثز تا فردا تاپیکی چامع در مورد لیست سفارشی را آماده کنیم تا مشکل کلیه دوستان حل شود.پس منتظر باشید فردا روزی شاد برای همه باشد
  6. صبر کنید تا چند روز آینده آموزش های کاملی در ارتباط با دیتابیس در سایت قرار خواهند گرفت.. برنامه های زیادی برای ماه مبارک رمضان در سایت قرار خواهد گرفت فعلا منتظر سورپرایز های انجمن باشید تا اعلام گردد. اما در جواب سوالتان : برای ذخیره اطلاعات باید از ContentValues استفاده شود.در این تاپیک روش را به سادگی شرح داده آم : http://p30droid.com/Thread-%D8%AF%D8%B1%D8%AC-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%AC%D8%AF%D9%88%D9%84
  7. خب شما باید اسکرول Name رو به سمت راست بکشید تا اسم ها قابل تشخیص باشد.
  8. من بطور خلاصه جواب سوالاتتون رو مینویسم : 1- خب برای اینکار باید یک کلاس بنویسید که از BroadcastReciver ارث بری کند، تا برنامه شما همیشه در پس زمینه در حال اجرا باشد. در پروژه برنامه SMS که در هدایای نوروزی موجود میباشد اینکار پیاده سازی شده است.همچنین باید در مانیفست به عنوان یک Reciver آن را تعریف کنید. public class MyAlarmReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Alarm Received....", Toast.LENGTH_SHORT).show(); }} 2-سوال دوم ) شما یک اکتیویتی بسازید که تنظیمات در آن ذخیره شود مثلا دیتابیس یا ... سپس در اون کلاس سرویس اطلاعات رو fetch کنید تا همیهش برنامه در حال اجرا باشد. مثلا :این کد هر یک دقیقه یکبار اجرا خواهد شد Intent intent = new Intent(this, Service_class.class); PendingIntent pintent = PendingIntent.getService( this, 0, intent, 0); AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 60000, pintent); 3- برای اینکار میتوانید از مثال این سایت استفاده کنید : http://www.sschauhan.com/index.php?option=com_content&view=article&id=21:creating-servi
  9. خب شما دیتابیسی که در گوشی یا امولاتور کپی میشود را نگاه میکنید یا همون دیتابسی پوشه assets ؟ چون خیلیا اول اشتباه میکنن و فکر میکنن که چرا به دیتابیس assets اضافه نمیشه اینکار امکانپذیر نیست چون نمیشود تو پکیج اطلاعات وارد پوشه و دیتایس مربوطه کرد...اگر دیتابیس خودتون رو از مسیر data/data/packageName/database ببنید اطلاعات وجود دارد. برای مشکل دوم لطفا یک اسکریت شات از اون قسمت بگیرید ، تا مشکل را ببینم.
  10. لطفا پروژه خود را در انجمن قرار دهید تا مشکل بررسی شود
  11. این کد رو تست کنید final ListView lst=(ListView)findViewById(R.id.list); db = database.getReadableDatabase(); Cursor cursors = db.rawQuery("select * from " + database.tb_name, null); ArrayList array_list = new ArrayList(); for (int i = 0; i < cursors.getCount(); i++) { cursors.moveToNext(); name = cursors.getString(cursors.getColumnIndex("database.name")); array_list.add(name); }ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, array_list); lst.setAdapter(dataAdapter);
  12. تو این خط کد یک ( کم نوشته شده است lst.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,array_list));
  13. احتمالا یکجایی اشتباه کردین در برنامه تون، کدتون را یکبار خط به خط دیباگ کنید و ببینید جایی مقدار خالی را نمیفرستید
  14. درسته وارد نمیشه.باید یکبار اپلیکیشن را حذف کنید و دوباره نصب کنید تا اطلاعات وارد شوند
  15. باید بدین صورت عمل کنید : ابتدا یک کلاس برای لود کردن دیتابیس تان در دیوایس باید بسازید : import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import android.content.Context;import android.database.Cursor;import android.database.SQLException;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteException;import android.database.sqlite.SQLiteOpenHelper;public class DatabaseUsers extends SQLiteOpenHelper { String DB_PATH =null; private static String DB_NAME = "mydb"; private SQLiteDatabase myDataBase; private final Context myContext; /** * Constructor * Takes and keeps a reference of the passed context in order to access to the application assets and resources. * @param context */ public DatabaseUsers(Context context) { super(context, DB_NAME, null, 1); this.myContext = context; DB_PATH="/data/data/"+context.getPackageName()+"/"+"databases/"; } /** * Creates a empty database on the system and rewrites it with your own database. * */ public void createDataBase() throws IOException{ boolean dbExist = checkDataBase(); if(dbExist){ //do nothing - database already exist }else{ //By calling this method and empty database will be created into the default system path //of your application so we are gonna be able to overwrite that database with our database. this.getReadableDatabase(); try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } } /** * Check if the database already exist to avoid re-copying the file each time you open the application. * @return true if it exists, false if it doesn't */ private boolean checkDataBase(){ SQLiteDatabase checkDB = null; try{ String myPath = DB_PATH + DB_NAME; checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); }catch(SQLiteException e){ //database does't exist yet. } if(checkDB != null){ checkDB.close(); } return checkDB != null ? true : false; } /** * Copies your database from your local assets-folder to the just created empty database in the * system folder, from where it can be accessed and handled. * This is done by transfering bytestream. * */ private void copyDataBase() throws IOException{ //Open your local db as the input stream InputStream myInput = myContext.getAssets().open(DB_NAME); // Path to the just created empty db String outFileName = DB_PATH + DB_NAME; //Open the empty db as the output stream OutputStream myOutput = new FileOutputStream(outFileName); //transfer bytes from the inputfile to the outputfile byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer))>0){ myOutput.write(buffer, 0, length); } //Close the streams myOutput.flush(); myOutput.close(); myInput.close(); } public void openDataBase() throws SQLException{ //Open the database String myPath = DB_PATH + DB_NAME; myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); } @Override public synchronized void close() { if(myDataBase != null) myDataBase.close(); super.close(); } @Override public void onCreate(SQLiteDatabase db) { } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } //return cursor public Cursor query(String table,String[] columns, String selection,String[] selectionArgs,String groupBy,String having,String orderBy){ return myDataBase.query("EMP_TABLE", null, null, null, null, null, null); }} سپس در اکتیویتی که قصد دارید عملیات درج انجام شود بدین صورت عمل کنید. DatabaseUsers myDbHelper = new DatabaseUsers(this); try { myDbHelper.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); } try { myDbHelper.openDataBase(); } catch (SQLException sqle) { throw sqle; }SQLiteDatabase db;db=myDbHelper.getWritableDatabase();db.execSQL("insert into mytb(id,name) values(2,'sara');");
  16. بفرمایید اینم جواب مشکلتون xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dip" android:gravity="right" android:orientation="horizontal" > android:background="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dip" android:layout_marginTop="10dip" android:textColor="#FFFFFF" /> android:background="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dip" android:layout_marginTop="10dip" android:textColor="#FFFFFF" />
  17. اون خط رو بردارید من اشتباهی براتون گذاشتم..نه همین SliderDrawer کارتون رو راه میندازه چون خود مثلا بازار هم از این استفاده کرده
  18. لطفا اگر وب سرویس شما روی نت میباشد آدرس آن را برام پیغام خصوصی کنید تا نگاهی بهش بندازم
  19. سلام..کاربر عزیز به پی سی دروید خوش آمدید. در این تاپیک این موضوع بررسی شده است.مثال موجود در این بخش را مشاهده نمایید..اگر مشکلی داشتید ،بیان کنید. p30droid.com/Thread-دیتابیس
  20. بدین صورت عمل کنید : public static String ServerIP = "http://192.168.10.8/"; public static String SOAP_ACTION = "http://tempuri.org/CelesiusToFarenheit";public static String NAMESPACE = "http://tempuri.org/";public static String METHOD_NAME = "CelesusTOFahrenheit";public static String URL = ServerIP+"Service.asmx?WSDL";SoapObject request = new SoapObject(ServerInfo.NAMESPACE, ServerInfo.METHOD_NAME_Player_GetByName); request.addProperty("ID",ID); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request); envelope.dotNet = true; try { HttpTransportSE androidHttpTransport = new HttpTransportSE(ServerInfo.URL); //this is the actual part that will call the webservice androidHttpTransport.call(ServerInfo.SOAP_ACTION1_Player_GetByName, envelope); // Get the SoapResult from the envelope body. SoapObject result = (SoapObject)envelope.bodyIn; if(result != null) { } else { Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_LONG).show(); } فقط توجه نمایید،باید آی پی و اطلاعات سرور خود را بجای این کدها وارد نمایید.
  21. برای نمایش اطلاعات در لیست ویو باید بدین صورت عمل کنید : ListAdapter adapter;ListView lst=(ListView)findViewById(R.id.list);db = dbh.getReadableDatabase(); Cursor cursors = db.rawQuery("select * from " + dbh.tbl_file, null); ArrayList array_list = new ArrayList(); for (int i = 0; i < cursors.getCount(); i++) { cursors.moveToNext(); name = cursors.getString(cursors.getColumnIndex("title")); array_list.add(name); } lst.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,array_list) title : اسم فیلد جدول
  22. از ویجت SliderDrawer استفاده شده است.این کنترل برای این میباشد که وقتی روی آن کلیک میشود لایوتی نمایش داده شود. android:layout_width="fill_parent" android:layout_height="fill_parent" android:handle="@+id/handle" android:content="@+id/content">
  23. شما باید یک کلاس ایجاد کنید و از BroadcastReciver ارث بری کنید. در لینک زیر پروژه ای در مورد اس ام اس قرار گرفته میتوانید از این نمونه مثال استفاده کنید : http://p30droid.com/Thread-%D9%87%D8%AF%DB%8C%D9%87-%D8%AF%D9%88%D9%85-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-SMS
  24. در این سایت بطور خلاصه طریقه اینکار را آموزش داده است : http://stackoverflow.com/questions/3593420/android-getting-source-code-from-an-apk-file
  25. برای اینکه دیتابیس اندروید را شروع کنید،ابتدا مطالب زیر را مطالعه نمایید ، چون طریقه اینکار به سادگی شرح داده شده است : آموزش دیتابیس بخش اول : [/url] http://p30droid.com/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84 آموزش دیتابیس بخش دوم : http://p30droid.com/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85