Farzad Sarseifi

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

    2,192
  • تاریخ عضویت

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

  • Days Won

    214

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

  1. یک شرکت معتبر فناوری اطلاعات جهت تکمیل کادر واحد نرم افزار خود از افراد واجد شرایط شغلی ذیل دعوت به همکاری می نماید: کارشناس ارشد نرم افزار مسلط به مدیریت پروژه های تحت وب با حداقل 4 سال تجربه فنی و مدیریتی طراح گرافیست وب سایت مسلط به فتوشاپ با سابقه و نمونه کار مرتبط با حداقل 3 سال تجربه و نمونه کار متخصص سئو آشنا به اصول علمی و تکنیکی SEO با حداقل 2 سال تجربه و نمونه کار اپراتور Data Entry در وب سایت ارسال رزومه به آدرس ایمیل: job@karyan.com و یا ارسال فکس به شماره: 88264043
  2. بله باید این timestamp را به کنترل شمارنده ست کنید تا عمل کنید.شما اگر فقط تایم دارید میتوانید تایم را به تبدیل کنید و از تاریخ صرف نظر کنید.
  3. بدین صورت تایم خود را به TimeStamp تبدیل کنید [shcode=java]Timestamp timestamp = Timestamp.valueOf("2007-09-23 10:10:10.0");[/shcode]
  4. تایم خود را بصورت timeStamp باید وارد کنید
  5. لطفا پروژه خود را قرار دهید تا بررسی کنیم آپلود سنتر انجمن http://p30droid.com/Uploader/
  6. لطفا کدی که در Layout تعریف کردید رو بزارید؟ [shcode=xml] android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:textSize="16sp" /> [/shcode]
  7. Import های مورد نیاز نمونه کد بالا: [shcode=java] import java.util.Formatter; import java.util.IllegalFormatException; import java.util.Locale; import android.content.Context; import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.util.AttributeSet; import android.util.Log; import android.widget.Chronometer; [/shcode]
  8. برای اینکار بدین صورت عمل کنید یک کلاس بصورت زیر ایجاد کنید: [shcode=java] public class CountdownChronometer extends Chronometer { private static final String TAG = "CountdownChronometer"; private static final String FAST_FORMAT_DHHMMSS = "%1$02d:%2$02d:%3$02d:%4$02d"; private static final String FAST_FORMAT_HMMSS = "%1$02d:%2$02d:%3$02d"; private static final String FAST_FORMAT_MMSS = "%1$02d:%2$02d"; private static final char TIME_PADDING = '0'; private static final char TIME_SEPARATOR = ':'; private long mBase; private boolean mVisible; private boolean mStarted; private boolean mRunning; private boolean mLogged; private String mFormat; private Formatter mFormatter; private Locale mFormatterLocale; private Object[] mFormatterArgs = new Object[1]; private StringBuilder mFormatBuilder; private OnChronometerTickListener mOnChronometerTickListener; private OnChronometerTickListener mOnCountdownCompleteListener; private StringBuilder mRecycle = new StringBuilder(8); private String mChronoFormat; private static final int TICK_WHAT = 3; public CountdownChronometer(Context context) { this(context, null, 0, 0); } public CountdownChronometer(Context context, long base) { this(context, null, 0, base); } public CountdownChronometer(Context context, AttributeSet attrs) { this(context, attrs, 0, 0); } public CountdownChronometer(Context context, AttributeSet attrs, int defStyle, long base) { super(context, attrs, defStyle); init(base); } private void init(long base) { mBase = base; updateText(System.currentTimeMillis()); } @Override public void setBase(long base) { mBase = base; dispatchChronometerTick(); updateText(System.currentTimeMillis()); } @Override public long getBase() { return mBase; } @Override public void setFormat(String format) { mFormat = format; if (format != null && mFormatBuilder == null) { mFormatBuilder = new StringBuilder(format.length() * 2); } } @Override public String getFormat() { return mFormat; } public void setCustomChronoFormat(String chronoFormat) { this.mChronoFormat = chronoFormat; } public String getCustomChronoFormat() { return mChronoFormat; } @Override public void setOnChronometerTickListener(OnChronometerTickListener listener) { mOnChronometerTickListener = listener; } @Override public OnChronometerTickListener getOnChronometerTickListener() { return mOnChronometerTickListener; } public void setOnCompleteListener(OnChronometerTickListener listener) { mOnCountdownCompleteListener = listener; } public OnChronometerTickListener getOnCompleteListener() { return mOnCountdownCompleteListener; } @Override public void start() { mStarted = true; updateRunning(); } @Override public void stop() { mStarted = false; updateRunning(); } public void setStarted(boolean started) { mStarted = started; updateRunning(); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mVisible = false; updateRunning(); } @Override protected void onWindowVisibilityChanged(int visibility) { super.onWindowVisibilityChanged(visibility); mVisible = visibility == VISIBLE; updateRunning(); } private synchronized boolean updateText(long now) { long seconds = mBase - now; seconds /= 1000; boolean stillRunning = true; if (seconds <= 0) { stillRunning = false; seconds = 0; } String text = formatRemainingTime(mRecycle, seconds); if (mFormat != null) { Locale loc = Locale.getDefault(); if (mFormatter == null || !loc.equals(mFormatterLocale)) { mFormatterLocale = loc; mFormatter = new Formatter(mFormatBuilder, loc); } mFormatBuilder.setLength(0); mFormatterArgs[0] = text; try { mFormatter.format(mFormat, mFormatterArgs); text = mFormatBuilder.toString(); } catch (IllegalFormatException ex) { if (!mLogged) { Log.w(TAG, "Illegal format string: " + mFormat); mLogged = true; } } } setText(text); return stillRunning; } private void updateRunning() { boolean running = mVisible && mStarted; if (running != mRunning) { if (running) { if (updateText(System.currentTimeMillis())) { dispatchChronometerTick(); mHandler.sendMessageDelayed( Message.obtain(mHandler, TICK_WHAT), 1000); } else { running = false; mHandler.removeMessages(TICK_WHAT); } } else { mHandler.removeMessages(TICK_WHAT); } mRunning = running; } } private Handler mHandler = new Handler() { public void handleMessage(Message m) { if (mRunning) { if (updateText(System.currentTimeMillis())) { dispatchChronometerTick(); sendMessageDelayed(Message.obtain(this, TICK_WHAT), 1000); } else { dispatchCountdownCompleteEvent(); stop(); } } } }; void dispatchChronometerTick() { if (mOnChronometerTickListener != null) { mOnChronometerTickListener.onChronometerTick(this); } } void dispatchCountdownCompleteEvent() { if (mOnCountdownCompleteListener != null) { mOnCountdownCompleteListener.onChronometerTick(this); } } private String formatRemainingTime(StringBuilder recycle, long elapsedSeconds) { long days = 0; long hours = 0; long minutes = 0; long seconds = 0; if (elapsedSeconds >= 86400) { days = elapsedSeconds / 86400; elapsedSeconds -= days * 86400; } if (elapsedSeconds >= 3600) { hours = elapsedSeconds / 3600; elapsedSeconds -= hours * 3600; } if (elapsedSeconds >= 60) { minutes = elapsedSeconds / 60; elapsedSeconds -= minutes * 60; } seconds = elapsedSeconds; if (mChronoFormat != null) { return formatRemainingTime(recycle, mChronoFormat, days, hours, minutes, seconds); } else if (days > 0) { return formatRemainingTime(recycle, FAST_FORMAT_DHHMMSS, days, hours, minutes, seconds); } else if (hours > 0) { return formatRemainingTime(recycle, FAST_FORMAT_HMMSS, hours, minutes, seconds); } else { return formatRemainingTime(recycle, FAST_FORMAT_MMSS, minutes, seconds); } } private static String formatRemainingTime(StringBuilder recycle, String format, long days, long hours, long minutes, long seconds) { if (FAST_FORMAT_DHHMMSS.equals(format)) { StringBuilder sb = recycle; if (sb == null) { sb = new StringBuilder(8); } else { sb.setLength(0); } sb.append(days); sb.append(TIME_SEPARATOR); if (hours < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(hours / 10)); } sb.append(toDigitChar(hours % 10)); sb.append(TIME_SEPARATOR); if (minutes < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(minutes / 10)); } sb.append(toDigitChar(minutes % 10)); sb.append(TIME_SEPARATOR); if (seconds < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(seconds / 10)); } sb.append(toDigitChar(seconds % 10)); return sb.toString(); } else { return String.format(format, days, hours, minutes, seconds); } } private static String formatRemainingTime(StringBuilder recycle, String format, long hours, long minutes, long seconds) { if (FAST_FORMAT_HMMSS.equals(format)) { StringBuilder sb = recycle; if (sb == null) { sb = new StringBuilder(8); } else { sb.setLength(0); } sb.append(hours); sb.append(TIME_SEPARATOR); if (minutes < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(minutes / 10)); } sb.append(toDigitChar(minutes % 10)); sb.append(TIME_SEPARATOR); if (seconds < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(seconds / 10)); } sb.append(toDigitChar(seconds % 10)); return sb.toString(); } else { return String.format(format, hours, minutes, seconds); } } private static String formatRemainingTime(StringBuilder recycle, String format, long minutes, long seconds) { if (FAST_FORMAT_MMSS.equals(format)) { StringBuilder sb = recycle; if (sb == null) { sb = new StringBuilder(8); } else { sb.setLength(0); } if (minutes < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(minutes / 10)); } sb.append(toDigitChar(minutes % 10)); sb.append(TIME_SEPARATOR); if (seconds < 10) { sb.append(TIME_PADDING); } else { sb.append(toDigitChar(seconds / 10)); } sb.append(toDigitChar(seconds % 10)); return sb.toString(); } else { return String.format(format, minutes, seconds); } } private static char toDigitChar(long digit) { return (char) (digit + '0'); } } [/shcode] سپس در Layout : [shcode=xml] android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:textSize="16sp" /> [/shcode] فراخوانی: [shcode=java] CountdownChronometer countdowner = (CountdownChronometer)findViewById(R.id.chronometer); countdowner.setBase(((System.currentTimeMillis()-Long.parseLong(time))/1000)%60); countdowner.start(); [/shcode]
  9. از این کد برای shake استفاده کنید package com.example.pwplock; import android.content.Context; import android.hardware.SensorListener; import android.hardware.SensorManager; @SuppressWarnings("deprecation") public class ShakeListener implements SensorListener { private static final int FORCE_THRESHOLD = 350; private static final int TIME_THRESHOLD = 100; private static final int SHAKE_TIMEOUT = 500; private static final int SHAKE_DURATION = 1000; private static final int SHAKE_COUNT = 3; private SensorManager mSensorMgr; private float mLastX = -1.0f, mLastY = -1.0f, mLastZ = -1.0f; private long mLastTime; private OnShakeListener mShakeListener; private Context mContext; private int mShakeCount = 0; private long mLastShake; private long mLastForce; public interface OnShakeListener { public void onShake(); } public ShakeListener(Context context) { mContext = context; resume(); } public void setOnShakeListener(OnShakeListener listener) { mShakeListener = listener; } public void resume() { mSensorMgr = (SensorManager) mContext .getSystemService(Context.SENSOR_SERVICE); if (mSensorMgr == null) { throw new UnsupportedOperationException("Sensors not supported"); } boolean supported = mSensorMgr.registerListener(this, SensorManager.SENSOR_ACCELEROMETER, SensorManager.SENSOR_DELAY_GAME); if (!supported) { mSensorMgr.unregisterListener(this, SensorManager.SENSOR_ACCELEROMETER); throw new UnsupportedOperationException( "Accelerometer not supported"); } } public void pause() { if (mSensorMgr != null) { mSensorMgr.unregisterListener(this, SensorManager.SENSOR_ACCELEROMETER); mSensorMgr = null; } } public void onAccuracyChanged(int sensor, int accuracy) { } public void onSensorChanged(int sensor, float[] values) { if (sensor != SensorManager.SENSOR_ACCELEROMETER) return; long now = System.currentTimeMillis(); if ((now - mLastForce) > SHAKE_TIMEOUT) { mShakeCount = 0; } if ((now - mLastTime) > TIME_THRESHOLD) { long diff = now - mLastTime; float speed = Math.abs(values[sensorManager.DATA_X] + values[sensorManager.DATA_Y] + values[sensorManager.DATA_Z] - mLastX - mLastY - mLastZ) / diff * 10000; if (speed > FORCE_THRESHOLD) { if ((++mShakeCount >= SHAKE_COUNT) && (now - mLastShake > SHAKE_DURATION)) { mLastShake = now; mShakeCount = 0; if (mShakeListener != null) { mShakeListener.onShake(); } } mLastForce = now; } mLastTime = now; mLastX = values[sensorManager.DATA_X]; mLastY = values[sensorManager.DATA_Y]; mLastZ = values[sensorManager.DATA_Z]; } } } فراخوانی کلاس مورد نظر: ShakeListener mShaker = new ShakeListener(this); mShaker.setOnShakeListener(new ShakeListener.OnShakeListener() { public void onShake() { //your code } });
  10. از Theme مربوط به appcompact استفاده کنید [shcode=xml]android:theme="@style/Theme.AppCompat"[/shcode]
  11. بسیار جای تقدیر داره که مارکت پارس هاب در راستای شفاف سازی فعالیت های خود بطور مستقیم با توسعه دهندگان اندروید در ارتباط میباشد. انجمن پی سی دروید میتونه این امکان رو در اختیار هم مارکت و توسعه دهندگان قرار دهد تا در یک مکان آزاد به رد و بدل کردن نظرات خود بپردازند،تا بتوانیم با هم به سمت جلو حرکت کنیم.
  12. یکی از وب سایت های بسیار عالی برای اینکه بتوانید از آیکن های Material Design استفاده کنید را معرفی میکنیم،چون تمامی توسعه دهندگان اندروید میباسیتی با جدیدترین و بهینه ترین روش ها برای توسعه اپ های خود استفاده کنید [align=center][/align] http://materialdesignicons.com/
  13. این کد را در قسمت Import اضافه کنید بدین صورت شما میبایستی همیشه کتابخانه های کلاس ها را اضافه کنید [shcode=java]import android.widget.Button;[/shcode]
  14. بدین صورت بنویسید: [shcode=java]Button b=(Button)findViewById(R.id.button1);[/shcode]
  15. لطفا Query خود را قرار دهید تا بررسی کنیم
  16. از این کد استفاده کنید در فایل مانیفست: [shcode=xml]android:theme="@android:style/Theme.NoTitleBar.Fullscreen"[/shcode]
  17. v14 به این مفهومه که در اندروید های ورژن 4 به بالا این Layout استفاده شود
  18. روی پروژه خود راست کنید و آیتم Properties را انتخاب نمایید به تب Java Build Path رفته و در کادر موجود به ایتم libraries مراجعه کنید،ببین آیا فایلی وجود دارد که قابل شناسایی نیس به احتمال زیاد این ارور به همین دلیل میباشد
  19. اسم فایل مورد نظر که قرار داده اید آیا بصورت حروف کوچک نوشته اید،چونکه فایل های موجود در فولدر res باید شامل حروف کوچک و با عدد شروع نشوند میباشد
  20. [shcode=java] intent.putExtra("number",Integer.parseInt(v.getTag().toString()));[/shcode]
  21. باید دو تا عکس طراحی کنید و از selector استفاده کنید که در حالت عادی یک عکس و وقتی انتخاب شد عکس دومی را نمایش دهد
  22. برای اینکار باید از کد رنگ های ARGB استفاده کنید که رنگ Aهمان ALPHA میباشد که برای شفافیت استفاده میشه
  23. Query دیتابیس خود را قرار دهید تا مشکل را برطرف کنیم
  24. هر دو تکه کدی که قرار دادید به زبان php هستش و سمت سرور هستش
  25. ورژن دیتابیس خود را بالاتر ببرید تا اینکار انجام شود