Farzad Sarseifi

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

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

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

  • Days Won

    61

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

  1. سایز خاصی برای گردید ویو نمیشه گفت ولی چند لایوت بزارید برای سایزهای مختلف مثلا layout، layout-large و layout-xlarge که برای تبلت های 7 و 10 اینچی کاربرد دارند. حالا..برای گرید ویو شما یک عکس دارید که زیرش هم یک متن نمایش داده میشود،پس بیاید بدین صورت عمل کنید، وقتی اطلاعات رو میگیرید در adapter بزارید. main.xml <?xml version="1.0" encoding="utf-8"?> android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="90dp" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" androidtretchMode="columnWidth" android:gravity="center"/> grid_row_view.xml <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:orientation="vertical" > android:id="@+id/imgThumb" android:layout_width="60dip" android:layout_height="60dip" androidcaleType="fitXY"/> android:id="@+id/imgText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dip" android:ellipsize="marquee" androidingleLine="true" android:text="test string" android:textColor="#000000" android:textSize="10dip" سپس در اکتیویتی اطلاعات را در درون آداپتر قرار میدهم،فقط توجه کنید که اطلاعات را بصورت دستی قرار ندهید باید اطلاعاتی که از سرور درخواست میدهید در فیلدها قرا بگیرند. import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(Main.this, "" + position, Toast.LENGTH_SHORT).show(); } }); } private class ImageAdapter extends BaseAdapter { private Context mContext; private LayoutInflater mInflater; public ImageAdapter(Context c) { mContext = c; mInflater = LayoutInflater.from©; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return null; } public long getItemId(int position) { return 0; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { // if it's not recycled, initialize some attributes imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(8, 8, 8, 8); } else { imageView = (ImageView) convertView; } imageView.setImageResource(mThumbIds[position]); return imageView;*/ ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.grid_row_view, null); holder = new ViewHolder(); holder.ImgThumb = (ImageView) convertView.findViewById(R.id.imgThumb); holder.ImhText = (TextView) convertView.findViewById(R.id.imgText); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.ImgThumb.setImageResource(mThumbIds[position]); holder.ImhText.setText("List item " + position + " Ipsum Ipsum Ipsum"); return convertView; } private class ViewHolder { ImageView ImgThumb; TextView ImhText; } private Integer[] mThumbIds = { R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7, R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7, R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2, R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5, R.drawable.sample_6, R.drawable.sample_7 }; }} اگر مشکل حل نشد قسمتی از کدتون رو بزاید شاید مشکل از Request باشه؟
  2. خب برای اینکار بدین صورت عمل کنید: در فایل main.xml : <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" /> بعد تعریف GridView در xml باید ،لیست تصاویر موجود در پوشه ای خاص در sdcard را مشخص کنیم private Uri[] IUrls;String[] IFiles = null;Gallery g;@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File images = new File("/mnt/sdcard/Images"); File[] imagelist = images.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return ((name.endsWith(".jpg")) || (name.endsWith(".png"))); } }); IFiles = new String[imagelist.length]; for (int i = 0; i < imagelist.length; i++) { IFiles[i] = imagelist[i].getAbsolutePath(); } IUrls = new Uri[iFiles.length]; for (int i = 0; i < IFiles.length; i++) { IUrls[i] = Uri.parse(IFiles[i]); } g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(getApplicationContext()));} public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; public ImageAdapter(Context c) { mContext = c; } public int getCount() { return IUrls.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); i.setImageURI(IUrls[position]); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setLayoutParams(new Gallery.LayoutParams(260, 210)); return i; } private Context mContext; }
  3. خب اینم شباهت زیادی با لیست ویو داره،شما یک گرید ویو سفارشی بسازید سپس یک کلاس اداپتر ایجاد کنید و اطلاعات رو از Json که میگیرد در ستون های آداپتر بزارید. اگه مشکل رو نمی تونید حل کنید، که نمونه کد براتون بزارم
  4. بهتره برای اینکار از اکشن بار استفاده کنید پروژه برنامه حسابداری که معرفی کرده ایم، این کار کاملا پیاده سازی شده است.
  5. خب خیلی فرق داره،مثلا در نت برای لود تصاویر باید از imageloader استفاده کنید تایپکی جدید بزنید و در اونجا سوالات تصاویر رو بزارید تاپیک قفل شد
  6. دوست عزیز بدین صورت عمل کنید: دو چک باکس تعریف کنید،سپس مقادیر را در متغیرهایی قرار میگیرند،تا خروجی تکست تولید شود if(chk_iran.isChecked()) { lbl_iran="√"; } else { lbl_iran="X"; } //--------------------------------- if(chk_iraq.isChecked()) { lbl_iraq="√"; } else { lbl_iraq="X"; }String filePath = Environment.getExternalStorageDirectory() + "/"; // name of our text file String fileName = "test.txt";String actualFile = filePath + fileName; try { FileWriter writer = new FileWriter(actualFile, true); writer.write("\n"); (writer.write(lbl_iran + ";" + lbl_iraq; writer.close(); // } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
  7. نه،تصویر فرق میکنه..میخواهید تصاویر یک پوشه رو نمایش دهید یا از نت؟ اگر سوالاتون ارتباطی با این بخش نداره،در یک تاپیک جدا مطرح نمایید، تا مطالب جامع تر بیان شوند
  8. شما با این کلاس که میزارم براتون میتونید روی عکس های خود زوم بزارید public class Zoom extends View { private Drawable image; private int zoomControler=200; public Zoom(Context context) { super(context); image=context.getResources().getDrawable(R.drawable.gallery_photo_1); setFocusable(true); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //here u can control the width and height of the images........ this line is very important image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler); image.draw(canvas); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_DPAD_UP)// zoom in zoomControler+=10; if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) // zoom out zoomControler-=10; if(zoomControler<10) zoomControler=10; invalidate(); return true; }}
  9. شما باید یک فایل متنی در روت اصلی sdcard بزارید، اسمش رو در کد بزارید تا نمایش داده شود
  10. خب اینکارو کنید..این پلاگین رو دانلود کنید، سپس فایل jar رو در مسیر ایکلیپس و پوشه eclipse/dropins/ بزارید،یکبار ایکلیپس رو رستارت کنید، حل میشه [align=center] [/align] [align=center] [align=left][align=justify]پسورد www.p30droid.com [/align] [/align] [/align] plugin Eclipse.zip plugin Eclipse.zip
  11. مشکل رو بررسی کردم و نتیجه رو براتون میزارم..من فایل رو در sdcard استریم کردم که راحت تر باشه ketab_Project.zip ketab_Project.zip
  12. AutocompleteTextView یکی از ویجت های استاندارد اندروید میباشد،که شبیه به ویجت Textview میباشد،ولی با این تفاوت که وقتی بخواهیم برنامه های سرچینگ پیاده سازی کنیم ،بهتر میباشد از AutocompleteTextView استفاده کنیم، چونکه باعث میشود اطلاعات در ویجت لود شده و بتوان اطلاعات را جستجو کرد. نحوه تعریف XML ویجت : android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" /> برای روشن شدن کامل نحوه عملکرد این ویجت،مثالی ساده را اجرا میکنیم.در این مثال یه ارایه ثابت را تعریف میکنیم، سپس ارایه را در این ویجت Adapter میکنیم و اطلاعات در این ویجت لیست میشوند. <?xml version="1.0" encoding="utf-8"?> android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5dp"> android:layout_height="wrap_content" android:text="Please Enter Words . . . :" /> android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" /> برای نمایش بهتره لیست اطلاعات ، یک لایوت اختصاصی برای نمایش اطلاعات ایجاد میکنیم،در مسیر زیر res/layout/list_item.xml این فایل را ایجاد میکنیم : <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textSize="16sp" android:textColor="#000"> سپس در اکتیویتی خود بدین صورت عمل کنید یک ارایه رشته ای را بصورت Public تعریف کنید : static final String[] ITEMS = new String[] { "Tea", "Coffee", "Milk", "Expresso", "Lemon Tea", "Cappuciano", "Hot Water", "Tomato Soup", "Ginger Tea", "ColdDrink"}; در آخر نیز در onCreate ویجت خود را تعریف میکنیم، و آرایه را در آن لود نموده ، و نتیجه کار را مشاهده کنید. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country); ArrayAdapter adapter = new ArrayAdapter(this, R.layout.list_item, ITEMS); textView.setAdapter(adapter); } [align=center][/align] منبع : http://www.edumobile.org/
  13. با برنامه SqliteAdmin اینکارو انجام بدین. اما یه نکته اگه بخواهید از اطلاعات جداول برنامه استفاده کنید،باید در ایکلیپس پلاگینی را نصب کنید و اطلاعات رو ببینید
  14. برای فارسی نوشتن ،روی امولاتور این امکان وجود نداره ولی جدا جدا نشون دادن هم اگر روی گوشی رام فارسی نصب باشه مشکلی پیش نمیاد
  15. خب برای اینکار این لینک زیر رو برین کامل کار میکنه.. http://artproblogger.com/how-to-root-nexus-7-3g/ باید اون برنامه که در پایین لینک آن قرار میگیرد را نصب کنید،تا مشکل برطرف شود http://forum.xda-developers.com/showthread.php?t=1809195
  16. بله دریافت شد...بزودی برسی خواهد شد و جواب را قرار میدهم
  17. روی پروژه کلیک راست و گزینه Fix Project را انتخاب کنید
  18. خب این یعنی اینکه برنامه اکشن بار لایبری رو نمیشناسه. روی پروژه کلیک راست کنید و در تب Android و پایین ورژن های اندروید اون رو Add کنید
  19. شما چه نسخه ای از جاوا رو نصب کردین؟ ..برای ایکلیپس باید 6 رو نصب کرده باشید..
  20. لینک دانلود مشکل دارد،لطفا در انجمن پیوست کنید
  21. کد ظاهرا مشکلی نداره،لطفا پروژه سمپلی بزارید ،تا کد رو دیباگ کنم و خورجی رو براتون بزارم
  22. بفرمایید ...در این مثال مشکل رو بررسی کرده و جواب صحیح رو براتون پیوست میکنم پسورد www.p30droid.com موفق باشید. musicPlayer.zip musicPlayer.zip
  23. اگر به این صورت بذارید ...عکس کشیده میشود: background-repeat:repeat
  24. بدو روش رو پیشنهاد میکنم 1)استفاده از usb: یعنی گوشی یا تبلت رو با کابل وصل میکنید و کد رو روی دستگاه اجرا و دیباگ میکنید.(بطور معمول باید درایور آن دیوایس رو دانلود کنید تا ویندوز شما قابل باشد به آن وصل بشود). 2-شبکه(Network): از میخواهید از طریق شبکه به چندین دستگاه وصل بشید .این راه بسیار مناسبی میباشد به این صورت : adb connect IP
  25. شما وقتی متن خودتون رو اینجوری بنویسید دیگر مشکلی پیش نماید.. textview.setText(PersianReshape.reshape(strfile));