Farzad Sarseifi

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

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

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

  • Days Won

    129

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

  1. به این صورت کار کنید : ۱- یک متد بنویسید تاریخ جاری را بدست بیارید : public String getCurrentDate() { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); Date date = new Date(); return dateFormat.format(date); } 2- یک کلاس برای ذخیره زمان جاری ایجاد کنید public class AdsConfiguration { Context context; SharedPreferences sharedPreferences; SharedPreferences.Editor editor; private static String KEY_ADS = "Ads"; private AdsConfiguration(){} public AdsConfiguration(Context context){ this.context=context; sharedPreferences = context.getSharedPreferences(KEY_ADS, Context.MODE_PRIVATE); editor = sharedPreferences.edit(); } public void setInstallDate(String CurrentDate) { editor.putString("InstallDate", CurrentDate); editor.commit(); } public String getInstallDate() { return sharedPreferences.getString("InstallDate", ""); } } 3- ذخیره زمان جاری در SharedPrefrences AdsConfiguration adsConfiguration = new AdsConfiguration(getApplicationContext()); adsConfiguration.setInstallDate(dateUtils.getCurrentDate()); 4- بررسی زمان : public boolean checkDate(String currentDate) { boolean result = false; SimpleDateFormat myFormat = new SimpleDateFormat("yyyy/MM/dd"); // String inputString1 = "2017/01/01"; String inputString1 = adsConfiguration.getInstallDate(); String inputString2 = currentDate; try { Date date1 = myFormat.parse(inputString1); Date date2 = myFormat.parse(inputString2); diff = date2.getTime() - date1.getTime(); System.out.println("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS)); diff = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS); } catch (ParseException e) { e.printStackTrace(); } if (diff >= 2) { result = true; } return result; } با خروجی این متد میتوانید مواردی که میخواهید را انجام دهید.
  2. قصد داید برنامه آنلاین باشه یا آفلاین برای اینکار ؟
  3. داخل اکتیویتی و فرگمنت هاتون باید قرارشون بدین
  4. https://gist.github.com/ArthurHub/8a8530dd688df409fb20
  5. فیلم حذف شد. http://p30droid.com/forum/62-آموزش-های-ویدئویی/
  6. باید در سمت سرور اینکارو رو انجام بدید بطور مثلا mysql یا sqlserver
  7. از چه مجوز هایی استفاده میکنید ؟
  8. از این کلاس استفاده کنید import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.os.Environment; import android.util.Log; import java.io.BufferedInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; /** * Created by farzad.sarseify on 13/04/2017. */ public class AsyncDownloader extends AsyncTask<String,String,String> { // you may separate this or combined to caller class. String path_temp,result; ProgressDialog pDialog; String fileName; private AsyncDownloader(){ //set context variables if required } public callResponse delegate = null;//Call back interface Context context; public AsyncDownloader(Context context,String name, callResponse asyncResponse) { this.context=context; fileName=name; delegate = asyncResponse;//Assigning call back interface through constructor path_temp = Environment.getExternalStorageDirectory() + File.separator; } @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(context); pDialog.setMessage("Downloading ..."); pDialog.setIndeterminate(false); pDialog.setMax(100); pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pDialog.setCancelable(false); pDialog.setCanceledOnTouchOutside(false); pDialog.show(); } @Override protected void onProgressUpdate(String... progress) { pDialog.setProgress(Integer.parseInt(progress[0])); } /** * In doInBackground method translation will be downloading and files saved in Quran folders * * * @param f_url * @return result */ @Override protected String doInBackground(String... f_url) { int count; try { URL url = new URL(f_url[0]); URLConnection conection = url.openConnection(); conection.connect(); // getting file length int lenghtOfFile = conection.getContentLength(); // input stream to read file - with 8k buffer InputStream input = new BufferedInputStream(url.openStream(), 8192); String[] parts=url.toString().split("/"); result = parts[parts.length - 1]; // Output stream to write file OutputStream output = new FileOutputStream(path_temp+fileName); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; // publishing the progress.... // After this onProgressUpdate will be called //publishProgress(""+(int)((total*100)/lenghtOfFile)); // writing data to file output.write(data, 0, count); // publishProgress((int) ((total * 100) / lenghtOfFile)+""); publishProgress(""+(int)((total*100)/lenghtOfFile)); //publishProgress(); } // flushing output output.flush(); // closing streams output.close(); input.close(); } catch (Exception e) { Log.e("Error: ", e.getMessage()); DirManagement.deleteFile(path_temp+fileName); } return path_temp+fileName; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); pDialog.dismiss(); delegate.processFinish(result); } public interface callResponse { void processFinish(String output); } } فراخوانی : AsyncDownloader asyncTask; //defind object asyncTask = new AsyncDownloader(MainActivity.this, "translation.sqlite", new AsyncDownloader.callResponse() { @Override public void processFinish(String output) { //result and path saved file } }); try { asyncTask.execute(download_path); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }
  9. Use this code in onPause() and onResume() to save and restore scroll position- private Parcelable recyclerViewState; recyclerViewState = mrecyclerView.getLayoutManager().onSaveInstanceState();//save mrecyclerView.getLayoutManager().onRestoreInstanceState(recyclerViewState);//restore
  10. کد نمایش لیست رو آیا در onCreate نوشته اید؟
  11. class ViewPagerAdapter extends FragmentPagerAdapter { private FragmentManager mManager; private final List<Fragment> mFragmentList = new ArrayList<>(); private final List<String> mFragmentTitleList = new ArrayList<>(); public ViewPagerAdapter(FragmentManager manager) { super(manager); this.mManager = manager; } @Override public Fragment getItem(int position) { return mFragmentList.get(position); } @Override public int getCount() { return mFragmentList.size(); } public void addFrag(Fragment fragment, String title) { mFragmentList.add(fragment); mFragmentTitleList.add(title); notifyDataSetChanged(); } public void removeFragment(int position) { mFragmentTitleList.remove(position); mManager.beginTransaction().remove(mFragmentList.get(position)).commit(); mFragmentList.remove(position); notifyDataSetChanged(); } @Override public CharSequence getPageTitle(int position) { return mFragmentTitleList.get(position); } }
  12. لاگ خطا رو بزارید
  13. نوع vpn خیلی مهمه آیا فقط برای این دو کتابخانه این اتفاق میوفته یا بقیه هم همینطور؟
  14. <EditText android:id="@+id/activity2UsernameEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/activity2SaveButton" android:layout_alignParentLeft="true" android:layout_marginBottom="88dp" android:inputType="number" />
  15. متغیر mp از کجا مقدار میگیره؟ میخواید مقادیر داخل raw رو share کنید ؟
  16. خود پوشه رو نمی توانید کنید باید لیست فایل های داخل سرور رو بدست بیارید و one by one دانلود کنید
  17. منظورتون از بخش جستجو کدام بخش میباشد؟
  18. اینکار امکان پذیر نیست.چونکه apk سورس نیس و apk فقط خروجی اندروید هستش
  19. یک ابجکت از کلاس دانلودر ایجاد کنید و بدین صورت کنسل کنید if (pbTaskM != null) { pbTaskM.cancel(true); progress_download.setVisibility(View.GONE); }
  20. فایل gradle.properties را باز کنید و بدین صورت تغییر دهید systemProp.http.proxyPassword=[PASSWORD] systemProp.http.proxyHost=[IP ADDRESS] systemProp.https.proxyPort=[PORT, TYPICALLY 3128] systemProp.https.proxyUser=[USERNAME] systemProp.https.proxyHost=[IP ADDRESS] systemProp.https.proxyPassword=[PASSWORD] systemProp.http.proxyPort=[PORT, TYPICALLY 3128] systemProp.http.proxyUser=[USERNAME]
  21. TelephonyManager mTelephonyManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
  22. سلام استفاده از پکیج PackageName یکسان مهمترین دلیل هستش و بعد هم دیگه باید minSDK رو هم نکاه کنید که ورژن جاری موجود در کافه بازار چند میباشد و اون رو ارتقا بدید
  23. استایل را تغییر دهید: <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/brown_light2</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowActionBarOverlay">true</item> </style>
  24. لطفا اموزش ها را در انجمن حتما اپلود نمایید