رفتن به مطلب

ali666645

کاربر سایت
  • تعداد ارسال ها

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

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

درباره ali666645

  • درجه
    Junior Member
  • تاریخ تولد تعیین نشده
  1. ذخیره ی حالت باتن در لیست ویو

    کسی راه حلی نداره؟؟
  2. سلام یک برنامه نوشتم که برنامه ها رو داخل لیست ویو میاره و هر قسمت از لیست یک سویچ باتن داره حالا میخوام اگر کاربر هر کدوم از این کلید ها رو تغیر حالت بده حالتش در یک فایل ذخیره بشه و وقتی برنامه دوباره باز شد کلید به حالتی که کاربر انتخاب کرده بود باشه لطفا کمکم کنید خیلی گیر کردم اخه مشکل اینه که اگر کاربر یک نرم افزار نصب و یا پاک کنه دیگه طبیعتا جای تمام برنامه ها توی لیست ویو تغیر میکنه مثلا پزیشن 20 که اول مال تلگرام بود حالا مال یک نرم افزار دیگه میشه و تلگرام میره پوزشین 21 راحی هست ایا؟؟ ممنون Main activity package com.testmy.myapplication; public class AllAppsActivity extends ListActivity { private PackageManager packageManager = null; private List<ApplicationInfo> applist = null; private ApplicationAdapter listadaptor = null; public SharedPreferences myshare; Switch myswich; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); packageManager = getPackageManager(); new LoadApplications().execute(); } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; } public boolean onOptionsItemSelected(MenuItem item) { boolean result = true; switch (item.getItemId()) { case R.id.menu_about: { displayAboutDialog(); break; } default: { result = super.onOptionsItemSelected(item); break; } } return result; } private void displayAboutDialog() { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.about_title)); builder.setMessage(getString(R.string.about_desc)); builder.setPositiveButton("Know More", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://stacktips.com")); startActivity(browserIntent); dialog.cancel(); } }); builder.setNegativeButton("No Thanks!", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); builder.show(); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); } } private List<ApplicationInfo> checkForLaunchIntent(List<ApplicationInfo> list) { ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>(); for (ApplicationInfo info : list) { try { if (null != packageManager.getLaunchIntentForPackage(info.packageName)) { applist.add(info); } } catch (Exception e) { e.printStackTrace(); } } return applist; } private class LoadApplications extends AsyncTask<Void, Void, Void> { private ProgressDialog progress = null; @Override protected Void doInBackground(Void... params) { applist = checkForLaunchIntent(packageManager.getInstalledApplications(PackageManager.GET_META_DATA)); listadaptor = new ApplicationAdapter(AllAppsActivity.this, R.layout.snippet_list_row, applist); return null; } @Override protected void onCancelled() { super.onCancelled(); } @Override protected void onPostExecute(Void result) { setListAdapter(listadaptor); progress.dismiss(); super.onPostExecute(result); } @Override protected void onPreExecute() { progress = ProgressDialog.show(AllAppsActivity.this, null, "Loading application info..."); super.onPreExecute(); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); } } } adapter package com.testmy.myapplication; public class ApplicationAdapter extends ArrayAdapter<ApplicationInfo> { private List<ApplicationInfo> appsList = null; private Context context; private PackageManager packageManager; public ApplicationAdapter(Context context, int textViewResourceId, List<ApplicationInfo> appsList) { super(context, textViewResourceId, appsList); this.context = context; this.appsList = appsList; packageManager = context.getPackageManager(); } @Override public int getCount() { return ((null != appsList) ? appsList.size() : 0); } @Override public ApplicationInfo getItem(int position) { return ((null != appsList) ? appsList.get(position) : null); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (null == view) { LayoutInflater layoutInflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = layoutInflater.inflate(R.layout.snippet_list_row, null); } ApplicationInfo applicationInfo = appsList.get(position); if (null != applicationInfo) { TextView appName = (TextView) view.findViewById(R.id.app_name); TextView packageName = (TextView) view.findViewById(R.id.app_paackage); ImageView iconview = (ImageView) view.findViewById(R.id.app_icon); appName.setText(applicationInfo.loadLabel(packageManager)); packageName.setText(applicationInfo.packageName); iconview.setImageDrawable(applicationInfo.loadIcon(packageManager)); } return view; } }; <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageView android:id="@+id/app_icon" android:layout_width="50dp" android:layout_height="50dp" android:padding="3dp" android:scaleType="centerCrop" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical" android:orientation="vertical" android:paddingLeft="5dp" > <TextView android:id="@+id/app_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:textStyle="bold" /> <Switch android:id="@+id/switch1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Switch" android:focusable="false" android:clickable="false"/> <TextView android:id="@+id/app_paackage" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" /> </LinearLayout> </LinearLayout>
  3. فورس کلوز برنامه ی نوشته شده

    اقا شرمنده من اینجوری بلد نیست لطف میکنی پروژه رو دانلود کنی ایمپورت کنی بالا لینک دانلود پروژه رو گذاشتم من واقعا اون مدلی که میگین ایمپورت کردن بلد نیستم چیزی هم تو اینترنت درباره ایمپورت سورس توی یک پروژه پیدا نکردم اینم لینک دانلود پروژه ممنون https://drive.google.com/file/d/1i4N_GrPTfVYeVIdjbtHKteVvRCvV6G92/view
  4. فورس کلوز برنامه ی نوشته شده

    3 فایل جاوا داخل سورس github داشت که دو تا رو کپی کردم داخل پروژه ی خوددم دیگری mainActivity.java بود رو متد داخلش رو کپی کردم داخل mainactivity خودم در بالا ی قسمتی از کد که موجب ارور میشد پس از اجرا اسکرین شات زیر رو گرفتم
  5. فورس کلوز برنامه ی نوشته شده

    ببخشید من تازه واردم نمیدونم این سورس رو چه طوری وارد برنامه کنم؟
  6. فورس کلوز برنامه ی نوشته شده

    بفرمایید activity_main.xml
  7. فورس کلوز برنامه ی نوشته شده

    اینم لینک خود پروژه https://drive.google.com/open?id=1i4N_GrPTfVYeVIdjbtHKteVvRCvV6G92
  8. فورس کلوز برنامه ی نوشته شده

    درود چنتا اپ رو تست کردم جواب نداد در هر صورت پس از فشار دادن کلید فورس کلوز میده
  9. فورس کلوز برنامه ی نوشته شده

    خوب چه جوری درستش کنم که اجرا بشه؟
  10. فورس کلوز برنامه ی نوشته شده

    نه روی اندروید 8 نه اندروید 7 اجرا نمیشه
  11. سلام من یک برنامه نوشتم که یک فایل apk رو فراخوانی میکنه و وارد صفحه ی نصب میشه در تمام اندروید ها به جز اندروید 7 و 8 به خوبی کار میکنه اما روی 7 و 8 فورس کلوز میده از fileprovider برای اندروید 7 و بیشتر از 7 استفاده کردم لطفا کمک کنید package com.example.ali.filep; import android.Manifest; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.AssetManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.support.annotation.NonNull; import android.support.v4.app.ActivityCompat; import android.support.v4.content.FileProvider; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper; public class MainActivity extends Activity { final Context context = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button mybutton = (Button)findViewById(R.id.b); mybutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String path = Environment.getExternalStorageDirectory() + "/Download/" + "myapk.apk"; InstallUpdate(path ); } }); } public void InstallUpdate(String path) { final File toInstall = new File(path); if (Build.VERSION.SDK_INT >= 24) { Uri apkUri = FileProvider.getUriForFile(context, "sheiday.ptsu.com.installer.fileprovider", toInstall); Intent install = new Intent(Intent.ACTION_VIEW); install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); install.setDataAndType(apkUri, "application/vnd.android.package-archive"); context.startActivity(install); } else { Uri apkUri = Uri.fromFile(toInstall); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); this.startActivity(intent); } } public boolean isStoragePermissionGranted() { if (Build.VERSION.SDK_INT >= 23) { if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { Log.v(TAG, "Permission is granted"); return true; } else { Log.v(TAG, "Permission is revoked"); ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); return false; } } else { //permission is automatically granted on sdk<23 upon installation Log.v(TAG, "Permission is granted"); return true; } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { Log.v(TAG, "Permission: " + permissions[0] + "was " + grantResults[0]); //resume tasks needing this permission } } public void Deleteupdeate() { File file = new File(Environment.getExternalStorageDirectory() + "/Download/" + "yourapk.apk"); boolean d = file.delete(); if (file.exists()) { try { file.getCanonicalFile().delete(); } catch (IOException e) { e.printStackTrace(); } if (file.exists()) { getApplicationContext().deleteFile(file.getName()); } if (!file.exists()) { Toast.makeText(this, "delete file downloaded", Toast.LENGTH_LONG).show(); } } } } <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="yournamePackge" > <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <provider android:name="android.support.v4.content.FileProvider" android:authorities="yourpackge.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/filepath" /> </provider> </application> </manifest> و یک فایل xml هم داره به نام filepath <?xml version="1.0" encoding="utf-8"?> <resources> <paths> <external-path path="" name="download"/> </paths> </resources> و اینم xml اصلی <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:text="Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="110dp" android:id="@+id/b" /> </RelativeLayout> برای اندروید 7 به صورت دستی میرم تنظیمات و پرمیشن رو اجازه میدم اما بازم فورس کلوز میده ممنون از راهنمایی تون
×