Seven7up

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

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

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

  • Days Won

    2

Seven7up last won the day on مارچ 20

Seven7up had the most liked content!

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

13 Good

3 دنبال کننده

درباره Seven7up

  • درجه
    توسعه دهنده فعال
  1. سلام مشکلتون رو مهندس سرسیفی رفع کردند یک نکته ای هم من بگم برای دوستانی که تازه میخوان شروع کنند بهترین کار این هستش شما تمامی متن های فارسی را درون فایل String ذخیره کنید و توی کد های جاوا به وسیله متد getString فراخوانی کنید که توی متد گت استرینگ به وسیله R.string.idstring متن گرفته میشه دلیلش چیه یک این که بهتر می توانید مدیریت کنید دوم بهم ریختگی اصلا توش به وجود نمیاد سوم اگر خواستید برنامه ای چند زبانه بنویسید خیلی راحت میتوانید این کار انجام دهید نکته دوم این هستش که اگر میخواهید متنی را از داخل یک تکست ویو یا ادیت تکست بخوانید باید حتما علاوه بر getText بعد از اون toString به کار ببرید. موفق باشید
  2. سلام از این کلاس استفاده کنید import android.content.Context; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.PointF; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.ScaleGestureDetector; import android.view.View; import android.widget.ImageView; public class ZoomableImageView extends ImageView { Matrix matrix = new Matrix(); static final int NONE = 0; static final int DRAG = 1; static final int ZOOM = 2; static final int CLICK = 3; int mode = NONE; PointF last = new PointF(); PointF start = new PointF(); float minScale = 1f; float maxScale = 4f; float[] m; float redundantXSpace, redundantYSpace; float width, height; float saveScale = 1f; float right, bottom, origWidth, origHeight, bmWidth, bmHeight; ScaleGestureDetector mScaleDetector; Context context; public ZoomableImageView(Context context, AttributeSet attr) { super(context, attr); super.setClickable(true); this.context = context; mScaleDetector = new ScaleGestureDetector(context, new ScaleListener()); matrix.setTranslate(1f, 1f); m = new float[9]; setImageMatrix(matrix); setScaleType(ScaleType.MATRIX); setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mScaleDetector.onTouchEvent(event); matrix.getValues(m); float x = m[Matrix.MTRANS_X]; float y = m[Matrix.MTRANS_Y]; PointF curr = new PointF(event.getX(), event.getY()); switch (event.getAction()) { //when one finger is touching //set the mode to DRAG case MotionEvent.ACTION_DOWN: last.set(event.getX(), event.getY()); start.set(last); mode = DRAG; break; //when two fingers are touching //set the mode to ZOOM case MotionEvent.ACTION_POINTER_DOWN: last.set(event.getX(), event.getY()); start.set(last); mode = ZOOM; break; //when a finger moves //If mode is applicable move image case MotionEvent.ACTION_MOVE: //if the mode is ZOOM or //if the mode is DRAG and already zoomed if (mode == ZOOM || (mode == DRAG && saveScale > minScale)) { float deltaX = curr.x - last.x;// x difference float deltaY = curr.y - last.y;// y difference float scaleWidth = Math.round(origWidth * saveScale);// width after applying current scale float scaleHeight = Math.round(origHeight * saveScale);// height after applying current scale //if scaleWidth is smaller than the views width //in other words if the image width fits in the view //limit left and right movement if (scaleWidth < width) { deltaX = 0; if (y + deltaY > 0) deltaY = -y; else if (y + deltaY < -bottom) deltaY = -(y + bottom); } //if scaleHeight is smaller than the views height //in other words if the image height fits in the view //limit up and down movement else if (scaleHeight < height) { deltaY = 0; if (x + deltaX > 0) deltaX = -x; else if (x + deltaX < -right) deltaX = -(x + right); } //if the image doesnt fit in the width or height //limit both up and down and left and right else { if (x + deltaX > 0) deltaX = -x; else if (x + deltaX < -right) deltaX = -(x + right); if (y + deltaY > 0) deltaY = -y; else if (y + deltaY < -bottom) deltaY = -(y + bottom); } //move the image with the matrix matrix.postTranslate(deltaX, deltaY); //set the last touch location to the current last.set(curr.x, curr.y); } break; //first finger is lifted case MotionEvent.ACTION_UP: mode = NONE; int xDiff = (int) Math.abs(curr.x - start.x); int yDiff = (int) Math.abs(curr.y - start.y); if (xDiff < CLICK && yDiff < CLICK) performClick(); break; // second finger is lifted case MotionEvent.ACTION_POINTER_UP: mode = NONE; break; } setImageMatrix(matrix); invalidate(); return true; } }); } @Override public void setImageBitmap(Bitmap bm) { super.setImageBitmap(bm); bmWidth = bm.getWidth(); bmHeight = bm.getHeight(); } public void setMaxZoom(float x) { maxScale = x; } private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { @Override public boolean onScaleBegin(ScaleGestureDetector detector) { mode = ZOOM; return true; } @Override public boolean onScale(ScaleGestureDetector detector) { float mScaleFactor = detector.getScaleFactor(); float origScale = saveScale; saveScale *= mScaleFactor; if (saveScale > maxScale) { saveScale = maxScale; mScaleFactor = maxScale / origScale; } else if (saveScale < minScale) { saveScale = minScale; mScaleFactor = minScale / origScale; } right = width * saveScale - width - (2 * redundantXSpace * saveScale); bottom = height * saveScale - height - (2 * redundantYSpace * saveScale); if (origWidth * saveScale <= width || origHeight * saveScale <= height) { matrix.postScale(mScaleFactor, mScaleFactor, width / 2, height / 2); if (mScaleFactor < 1) { matrix.getValues(m); float x = m[Matrix.MTRANS_X]; float y = m[Matrix.MTRANS_Y]; if (mScaleFactor < 1) { if (Math.round(origWidth * saveScale) < width) { if (y < -bottom) matrix.postTranslate(0, -(y + bottom)); else if (y > 0) matrix.postTranslate(0, -y); } else { if (x < -right) matrix.postTranslate(-(x + right), 0); else if (x > 0) matrix.postTranslate(-x, 0); } } } } else { matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector.getFocusY()); matrix.getValues(m); float x = m[Matrix.MTRANS_X]; float y = m[Matrix.MTRANS_Y]; if (mScaleFactor < 1) { if (x < -right) matrix.postTranslate(-(x + right), 0); else if (x > 0) matrix.postTranslate(-x, 0); if (y < -bottom) matrix.postTranslate(0, -(y + bottom)); else if (y > 0) matrix.postTranslate(0, -y); } } return true; } } @Override protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); width = MeasureSpec.getSize(widthMeasureSpec); height = MeasureSpec.getSize(heightMeasureSpec); //Fit to screen. float scale; float scaleX = width / bmWidth; float scaleY = height / bmHeight; scale = Math.min(scaleX, scaleY); matrix.setScale(scale, scale); setImageMatrix(matrix); saveScale = 1f; // Center the image redundantYSpace = height - (scale * bmHeight) ; redundantXSpace = width - (scale * bmWidth); redundantYSpace /= 2; redundantXSpace /= 2; matrix.postTranslate(redundantXSpace, redundantYSpace); origWidth = width - 2 * redundantXSpace; origHeight = height - 2 * redundantYSpace; right = width * saveScale - width - (2 * redundantXSpace * saveScale); bottom = height * saveScale - height - (2 * redundantYSpace * saveScale); setImageMatrix(matrix); } } کد های که باید توی اکتیویتی استفاده کنید ZoomableImageView touch = (ZoomableImageView)findViewById(R.id.IMAGEID); touch.setImageBitmap(bitmap); این هم کد Xml هستش <PACKAG-Shoma.ZoomableImageView android:id="@+id/IMAGEID" android:layout_width="match_parent" android:layout_height="match_parent"/>
  3. سلام ببینید ورژن buildToolsVersion چقدر هستش باید بیارید روی 22
  4. در این ویدئو یاد میگیرد که چطور یک پوشه در پوشه لایوت پروژه ایجاد کنید لینک آپارات http://www.aparat.com/v/wTkoW
  5. با سلام در این آموزش قصد دارم کار با BroadcastReceiver رو به دوستان در یک پروژه دریافت تماس آموش بدم چون کد های پیچیده ای نداشت به صورت فیلم آموزش ندادم. ابتدا شما باید یک کلاس جاوا در پکیج خود ایجاد کنید حالا اسمش هر چی میخواید بزارید ولی حتما باید از نوع BroadcastReceiver باشد. کتاب خانه های که لازم هستش در پروژه فراخوانی شوند . import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; import android.widget.Toast; کد های کلاس public class PhoneStateReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { try { String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER); if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ Toast.makeText(context,"دریافت تماس",Toast.LENGTH_SHORT).show(); Toast.makeText(context,"شماره -"+incomingNumber,Toast.LENGTH_SHORT).show(); } if ((state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))){ Toast.makeText(context,"وضعیت تماس",Toast.LENGTH_SHORT).show(); } if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){ Toast.makeText(context,"رد یا قطع تماس",Toast.LENGTH_SHORT).show(); } } catch (Exception e){ e.printStackTrace(); } } } در اینجا وقتی موردی در گوشی رخ دهد تماسی دریافت شود یا پیامی به گوشی ارسال شود به وسیله onReceive این مورد برسی میشود از برود کست میتوان برای کار های هم چون برسیوضعیت باتری نیزاستفاده کرد
  6. نگارش 1.0.0

    0 دانلود

    سلام شاید خیلی وقته میبینید برخی ها به فکر راه اندازی کتاب خانه انلاین هستند شاید شماهم دوست دارید این کتابخانه انلاین رو هم راه اندازی کنید خب با این اپلیکیشن میتونید راحت کتاب خونه انلاین خودتون رو ایجاد کنید سورس اندروید استدویو + php

    100٬000 ریال

  7. نگارش 1.0.0

    2 دانلود

    سلام شاید خیلی ها به شما پیشنهاد دادهاند که برای اون ها یک اپلیکیشن خبری ایجاد کنید ولی بهخاطر سختی و حجم اون ویا سختی اون این پروژه رو از دست دادید یا شاید در آینده به شما پیشنهاد داده شود که یک اپلیکیشن خبری برای سایتی یا جای ایجاد کنید با این سورس کد راحت اپلیکیشن خبری خودتون رو ایجاد سورس اندروید استودیو + سرور php + طراحی زیبای متریال

    200٬000 ریال

  8. نگارش 1.0.0

    15 دانلود

    سلام این سورس برنامه ای مثل واتس اپ هستش کاملا تست شده و قابل اجرا با سرعت بالا وپشتیبانی از سرعت دیتا های گوشی کاملا حرفه ای فیلم آموزش راه اندازی درون سورس وجود دارد زبان های کلاینت جاوا اندروید استدویدو زبان های تحت وب نود جی اس + php

    50٬000 ریال

  9. نگارش 1.0.0

    78 دانلود

    سلام سورس کد اندروید موزیک پلیر مانند Spotify و Apple music همراه با سورس سمت سرور موفق باشید

    رایگان

  10. کد های کلاس navigation drawer activiti بزارید برای شما قرار بدیم
  11. اگر درست منظورتون رو متوجه شدم کد زیررو در رویداد onBackPressed() بزارید کد زیر میاد دکمه بک رو از کار میندازه یعنی هر چقدر روی دکمه بک کلیک کنه کاربر اکتیویتی به عقب بر نمی گرده if (1==2) { super.onBackPressed(); return; }
  12. سلام اول این که شما دارید با جیسون ابجک میگیرید اطلاعات رو بعدش json_name از کجااوردید که گذاشتیدتوی جیسون اری لطفا جیسونی که از سایت میگیرید رو بزارید ببینم جیسون ابجکت هستش یا اری
  13. نگارش 1.0.0

    389 دانلود

    سورس اندروید استودیو فروشگاه اینترنتی + وب سایت + وبسرویس زبان ها جاوا + php

    رایگان

  14. سلام ببینید این کد ب کارتون میاد package app.test; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.os.Environment; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.provider.Settings; import android.util.Log; public class Test extends Activity implements SensorEventListener { private WakeLock mWakelock = null; private SensorManager mMgr; private Sensor mAccel; private BufferedWriter mLog; final private SimpleDateFormat mTimeFormat = new SimpleDateFormat("HH:mm:ss - "); private int mSavedTimeout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mMgr = (SensorManager) this.getSystemService(SENSOR_SERVICE); mAccel = mMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); try { String filename = Environment.getExternalStorageDirectory().getAbsolutePath() +"/accel.log"; mLog = new BufferedWriter(new FileWriter(filename, true)); } catch(Exception e) { e.printStackTrace(); finish(); } PowerManager pwrMgr = (PowerManager) this.getSystemService(POWER_SERVICE); mWakelock = pwrMgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Accel"); mWakelock.acquire(); try { mSavedTimeout = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT); } catch(Exception e) { mSavedTimeout = 120000; } Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 5000); } public BroadcastReceiver mReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) { writeLog("The screen has turned off"); mMgr.unregisterListener(Test.this); mMgr.registerListener(Test.this, mAccel, SensorManager.SENSOR_DELAY_NORMAL); } } }; @Override protected void onStart() { mMgr.registerListener(this, mAccel, SensorManager.SENSOR_DELAY_NORMAL); IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); registerReceiver(mReceiver, filter); super.onStart(); } @Override protected void onStop() { mMgr.unregisterListener(this, mAccel); unregisterReceiver(mReceiver); try { mLog.flush(); } catch (IOException e) { } super.onStop(); } @Override protected void onDestroy() { try { mLog.flush(); mLog.close(); } catch(Exception e) { } Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, mSavedTimeout); mWakelock.release(); super.onDestroy(); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } public void onSensorChanged(SensorEvent event) { writeLog("Got a sensor event: " + event.values[0] + ", " + event.values[1] + ", " + event.values[2]); } private void writeLog(String str) { try { Date now = new Date(); mLog.write(mTimeFormat.format(now)); mLog.write(str); mLog.write("\n"); } catch(IOException ioe) { ioe.printStackTrace(); } } } دسترسی <uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
  15. سلام دقیقا کتاب های شما به چه صورت هستش pdf یا خیر توی دیتا بیس ذخیره میکنید این مورد مهم هستش اگر به صورتی هستش که توی دیتا بیس ذخیره میشه و از دیتا بیس میخونید با کمی تحلیل دقیق میتونید کتابخوان حرفه ای بنویسید فقط باید یک جدول موضوع و یک جدول محتوا درست کنید و به هم ریلیشن بدید