Farzad Sarseifi

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

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

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

  • Days Won

    110

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

  1. چرا خود اندروید استودیو رو نصب نمیکنید. بیشتر مشکل فارسی نویسی حل شده است
  2. خروجی وب سرویس که براتون میاد رو بزارید،(متن)
  3. سلام.اکلیپس همیشه برای نمایش دادن Ui در محیط ادیتور مشکل داره.. بهتره به اندروید استودیو مهاجرت کنید
  4. درود به همه کاربران انجمن اندروید ایران به عنوان یکی دیگر از هدایای سری جدید انجمن اندروید ایران پروژه کتاب ساز اندروید را برای شما آماده و در اختیار شما عزیزان قرار گرفت. از آنجایی که هدف انجمن اندروید ایران فقط و فقط خدمت به اندروید ایران است و رشد و توسعه آن در گرو همکاری همه عزیزان است لذا به عنوان یک عضو کوچک از این خانواده بزرگ تلاش خود را انجام میدهیم تا خدمتی صادقانه به شما عزیزان ارائه دهیم. چندین وقت بود نیاز بود راهی آسان برای ساخت و ایجاد اپلیکیشن های بر پایه تولید محتوا ایجاد شود،بر همین دلیل انجمن پی سی دروید این نیاز را با ارائه روش "کتاب ساز اندروید" نیز برای توسعه دهندگان گرامی اندروید رفع خواهد کرد. امید است دوستان گرامی بتواند اپلیکیشن های جذابی را در آینده تولید نمایند و باعت پیشرفت صنعت موبایل در کشور باشد از امکانات این کتاب ساز : ورق زدن صفخات بصورت راست به چپ قرار دادن تصاویر و متون در صفحات قرار دادن متون فارسی و ... امکان قرار دادن نامحدود صفحات استفاده از دیتابیس برای نمایش اطلاعات برای استفاده از این پروژه باید حتما کتابخانه FilpBook را نیز به پروژه خود اضافه کنید،کتابخانه مورد نظر نیز در پیوست قرار گرفته است. دانلود پروژه: http://p30droid.com/Uploader/do.php?id=359 کتابخانه پروژه: http://p30droid.com/Uploader/do.php?id=360 پیروز و سربلند باشید. انجمن اندروید ایران
  5. نه اینکار امکان پذیر نیس و حتما باید کاربر خودش روشن کنه
  6. Intent intent = new Intent(); intent.setComponent(new ComponentName( "com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); startActivity(intent);
  7. محتویات فایل Build.gradle خودتون رو بزارید چک کنم
  8. به این آدرس بروید Tools>Android>Sdk manager
  9. انجمن اندروید ایران با همکاری فرانش برگزار میکند: تاریخ برگزاری : 3 آبان 1395 مدرس : فرزاد سرسیفی مکان: مصلی تهرانی،غرفه فرانش عنوان درسی : امنیت در اندروید "شرکت برای عموم رایگان میباشد" با سپاس فراوان فرزاد سرسیفی
  10. این مشکل برای جنی موشن موجوده و یکی از مشکلات جنی موشن همین میباشد. این آموزش رو ببنید
  11. gradle

    سلام..باید اطمینان حاصل کنید آیا این وی پی انی که دارید آیا میتوانید به آدرس مورد نظر وصل بشه و فایل ها رو دانلود کنه یا خیر
  12. در اندروید دو دسته مجوز داریم Normal and Dangerous Permissions اگر سطح Dangerous Permissions رو انتخاب کنید کاربران تردید مکنند که اپ شما رو نصب کنند پس مجوز های غیر ضروری را بردارید
  13. موارد زیر را بررسی نمایید نسخه جنی موشن آیا با ویندوز شما سازگار میباشد؟ آیا قبلا دیوایس ها کار میکردند و جدیدا به مشکل خوردند؟
  14. اندروید هر روز در حال بروزسانی میباشد و اگر میخواهید جدیدترین امکانات اندروید را در اپلیکیشن خود استفاده کنید که در ورژن های پایین اندروید هم پشتیبانی شود باید از کتابخانه Appcompat استفاده کنید
  15. To get full sized camera image you should point camera to save picture in temporary file, like private URI mImageUri; Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); File photo; try { // place where to store camera taken picture photo = this.createTemporaryFile("picture", ".jpg"); photo.delete(); } catch(Exception e) { Log.v(TAG, "Can't create file to take picture!"); Toast.makeText(activity, "Please check SD card! Image shot is impossible!", 10000); return false; } mImageUri = Uri.fromFile(photo); intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri); //start camera intent activity.startActivityForResult(this, intent, MenuShootImage); private File createTemporaryFile(String part, String ext) throws Exception { File tempDir= Environment.getExternalStorageDirectory(); tempDir=new File(tempDir.getAbsolutePath()+"/.temp/"); if(!tempDir.exists()) { tempDir.mkdirs(); } return File.createTempFile(part, ext, tempDir); } Then after image capture intent finished to work - just grab your picture from imageUri using following code: public void grabImage(ImageView imageView) { this.getContentResolver().notifyChange(mImageUri, null); ContentResolver cr = this.getContentResolver(); Bitmap bitmap; try { bitmap = android.provider.MediaStore.Images.Media.getBitmap(cr, mImageUri); imageView.setImageBitmap(bitmap); } catch (Exception e) { Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT).show(); Log.d(TAG, "Failed to load", e); } } //called after camera intent finished @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if(requestCode==MenuShootImage && resultCode==RESULT_OK) { ImageView imageView; //... some code to inflate/create/find appropriate ImageView to place grabbed image this.grabImage(imageView); } super.onActivityResult(requestCode, resultCode, intent); }
  16. package edu.gvsu.cis.masl.camerademo; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class MyCameraActivity extends Activity { private static final int CAMERA_REQUEST = 1888; private ImageView imageView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.imageView = (ImageView)this.findViewById(R.id.imageView1); Button photoButton = (Button) this.findViewById(R.id.button1); photoButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_REQUEST); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { Bitmap photo = (Bitmap) data.getExtras().get("data"); imageView.setImageBitmap(photo); } } } Layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/photo"></Button> <ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:src="@drawable/icon" android:layout_width="wrap_content"></ImageView> </LinearLayout> Manifest <uses-feature android:name="android.hardware.camera"></uses-feature> <uses-feature android:name="android.hardware.camera" android:required="false"></uses-feature>
  17. از offset استفاده کنید برای query سمت سرورتئن
  18. همیشه یکی از ابزارهای مفید و کاربردی وب سایت های آموزشی میباشند و باعث میشود ما را در رفع مسائل کمک کنند در این پست لیستی از این وب سایت ها در زمینه اندروید را معرفی میکنیم: 1-اولین و مهمترین وب سایت، مرجع خود اندروید میباشد http://developer.android.com/ 2- وب سایت Vogellla http://www.vogella.com/ 3-وب سایت AndroidHive http://www.androidhive.info/ اگر وب سایت های دیگه ای میشناسید شما هم معرفی کنید
  19. احتمالا برای مجوز هستش. Grant Permission رو بررسی کردید؟
  20. مطلب رو ویرایش کردم. دوباره بررسی نمایید
  21. https://developer.android.com/guide/practices/screens_support.html res/layout/my_layout.xml // layout for normal screen size ("default") res/layout-large/my_layout.xml // layout for large screen size res/layout-xlarge/my_layout.xml // layout for extra-large screen size res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation res/drawable-mdpi/graphic.png // bitmap for medium-density res/drawable-hdpi/graphic.png // bitmap for high-density res/drawable-xhdpi/graphic.png // bitmap for extra-high-density res/drawable-xxhdpi/graphic.png // bitmap for extra-extra-high-density res/mipmap-mdpi/my_icon.png // launcher icon for medium-density res/mipmap-hdpi/my_icon.png // launcher icon for high-density res/mipmap-xhdpi/my_icon.png // launcher icon for extra-high-density res/mipmap-xxhdpi/my_icon.png // launcher icon for extra-extra-high-density res/mipmap-xxxhdpi/my_icon.png // launcher icon for extra-extra-extra-high-density و فقط یک نکته برای اندروید های بالای ۲.۳ باید از ایتم های زیر استفاده کنید res/layout/main_activity.xml # For handsets (smaller than 600dp available width) res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger) res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger
  22. layout layout-sw600dp layout-sw720dp
  23. شما میتونید یک مقدار تعریف کنید اگر صفر بود به اکتیویی قبل برگرده و اگه مقادیر دیگه بود عملیات های دیگه انجام بده مثلا هر فرگمنتی که نیاز دارید نمایش دهید
  24. import android.app.Activity; import android.graphics.Matrix; import android.graphics.PointF; import android.os.Bundle; import android.util.FloatMath; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.ImageView; public class ZoomInZoomOut extends Activity implements OnTouchListener { private static final String TAG = "Touch"; @SuppressWarnings("unused") private static final float MIN_ZOOM = 1f,MAX_ZOOM = 1f; // These matrices will be used to scale points of the image Matrix matrix = new Matrix(); Matrix savedMatrix = new Matrix(); // The 3 states (events) which the user is trying to perform static final int NONE = 0; static final int DRAG = 1; static final int ZOOM = 2; int mode = NONE; // these PointF objects are used to record the point(s) the user is touching PointF start = new PointF(); PointF mid = new PointF(); float oldDist = 1f; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView view = (ImageView) findViewById(R.id.imageView); view.setOnTouchListener(this); } @Override public boolean onTouch(View v, MotionEvent event) { ImageView view = (ImageView) v; view.setScaleType(ImageView.ScaleType.MATRIX); float scale; dumpEvent(event); // Handle touch events here... switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: // first finger down only savedMatrix.set(matrix); start.set(event.getX(), event.getY()); Log.d(TAG, "mode=DRAG"); // write to LogCat mode = DRAG; break; case MotionEvent.ACTION_UP: // first finger lifted case MotionEvent.ACTION_POINTER_UP: // second finger lifted mode = NONE; Log.d(TAG, "mode=NONE"); break; case MotionEvent.ACTION_POINTER_DOWN: // first and second finger down oldDist = spacing(event); Log.d(TAG, "oldDist=" + oldDist); if (oldDist > 5f) { savedMatrix.set(matrix); midPoint(mid, event); mode = ZOOM; Log.d(TAG, "mode=ZOOM"); } break; case MotionEvent.ACTION_MOVE: if (mode == DRAG) { matrix.set(savedMatrix); matrix.postTranslate(event.getX() - start.x, event.getY() - start.y); // create the transformation in the matrix of points } else if (mode == ZOOM) { // pinch zooming float newDist = spacing(event); Log.d(TAG, "newDist=" + newDist); if (newDist > 5f) { matrix.set(savedMatrix); scale = newDist / oldDist; // setting the scaling of the // matrix...if scale > 1 means // zoom in...if scale < 1 means // zoom out matrix.postScale(scale, scale, mid.x, mid.y); } } break; } view.setImageMatrix(matrix); // display the transformation on screen return true; // indicate event was handled } /* * -------------------------------------------------------------------------- * Method: spacing Parameters: MotionEvent Returns: float Description: * checks the spacing between the two fingers on touch * ---------------------------------------------------- */ private float spacing(MotionEvent event) { float x = event.getX(0) - event.getX(1); float y = event.getY(0) - event.getY(1); return FloatMath.sqrt(x * x + y * y); } /* * -------------------------------------------------------------------------- * Method: midPoint Parameters: PointF object, MotionEvent Returns: void * Description: calculates the midpoint between the two fingers * ------------------------------------------------------------ */ private void midPoint(PointF point, MotionEvent event) { float x = event.getX(0) + event.getX(1); float y = event.getY(0) + event.getY(1); point.set(x / 2, y / 2); } /** Show an event in the LogCat view, for debugging */ private void dumpEvent(MotionEvent event) { String names[] = { "DOWN", "UP", "MOVE", "CANCEL", "OUTSIDE","POINTER_DOWN", "POINTER_UP", "7?", "8?", "9?" }; StringBuilder sb = new StringBuilder(); int action = event.getAction(); int actionCode = action & MotionEvent.ACTION_MASK; sb.append("event ACTION_").append(names[actionCode]); if (actionCode == MotionEvent.ACTION_POINTER_DOWN || actionCode == MotionEvent.ACTION_POINTER_UP) { sb.append("(pid ").append(action >> MotionEvent.ACTION_POINTER_ID_SHIFT); sb.append(")"); } sb.append("["); for (int i = 0; i < event.getPointerCount(); i++) { sb.append("#").append(i); sb.append("(pid ").append(event.getPointerId(i)); sb.append(")=").append((int) event.getX(i)); sb.append(",").append((int) event.getY(i)); if (i + 1 < event.getPointerCount()) sb.append(";"); } sb.append("]"); Log.d("Touch Events ---------", sb.toString()); } }
  25. آیا لایوت های زیر رو طراحی کردید ؟ layout layout-sw600 layout-720