رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

سلام 

من برای فرا خوانی عکس از دیتابیس یه table توی دیتابیس درست کردم اسم عکس ها را درون اون نوشتم و عکس هارا توی برنامه کپی کردم و به برنامه گفتم اسم عکس ها را با نام های توی دیتابیس مطابقت بده و هر کدوم مطابقت داره نمایش بده ولی تعداد که زیاد میشه رم گوشی جواب نمیده و ارور میده

   String aks = MainActivity.fruits.get(position).getAks();
   int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName());
   holder.aks.setImageResource(id);

اینم کد اون قسمت از برنامم

ممنون میشم اگه راهنمایی ام کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 3 دقیقه قبل، محمد جواد رجبی گفته است :

سلام 

من برای فرا خوانی عکس از دیتابیس یه table توی دیتابیس درست کردم اسم عکس ها را درون اون نوشتم و عکس هارا توی برنامه کپی کردم و به برنامه گفتم اسم عکس ها را با نام های توی دیتابیس مطابقت بده و هر کدوم مطابقت داره نمایش بده ولی تعداد که زیاد میشه رم گوشی جواب نمیده و ارور میده


   String aks = MainActivity.fruits.get(position).getAks();
   int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName());
   holder.aks.setImageResource(id);

اینم کد اون قسمت از برنامم

ممنون میشم اگه راهنمایی ام کنید

منظورتون از تعداد زیاد چند تا میباشد؟

لطفا لاگ ارور رو بزارید

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 دقیقه قبل، Farzad Sarseifi گفته است :

منظورتون از تعداد زیاد چند تا میباشد؟

لطفا لاگ ارور رو بزارید

 

 

تعداد زیاد مثلا 20 تا 30 تا

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، محمد جواد رجبی گفته است :

تعداد زیاد مثلا 20 تا 30 تا

مشکل از تعداد نیست

لاگ ارور رو بزارید

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

منظور تون از لاگ کجا میشه

این جا گیر میده


at com.example.user.khavaskadeh.Adap.Adapterrecy6.onBindViewHolder(Adapterrecy6.java:63)
at com.example.user.khavaskadeh.Adap.Adapterrecy6.onBindViewHolder(Adapterrecy6.java:24)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از این دو خط ایراد میگیره

یکی

String aks = MainActivity.Spices.get(position).getAks();
int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName());
holder.aks.setImageResource(id);

دومی

public class Adapterrecy7 extends RecyclerView.Adapter<Adapterrecy7.ViewHolder> {

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، محمد جواد رجبی گفته است :

منظور تون از لاگ کجا میشه

این جا گیر میده



at com.example.user.khavaskadeh.Adap.Adapterrecy6.onBindViewHolder(Adapterrecy6.java:63)
at com.example.user.khavaskadeh.Adap.Adapterrecy6.onBindViewHolder(Adapterrecy6.java:24)

 

از  لاگ ارورتون که داخل  android monitor  نمایش داده میشود عکس بگیرید و کلشو بزارید.تا بتونیم خطا رو پیدا کنیم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این کل کد های Adapterrecy

package com.example.user.khavaskadeh.Adap;

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.user.khavaskadeh.DataActivity;
import com.example.user.khavaskadeh.MainActivity;
import com.example.user.khavaskadeh.R;
import com.example.user.khavaskadeh.Structure;

import java.util.ArrayList;

/**
 * Created by user on 12/01/2017.
 */

public class Adapterrecy7 extends RecyclerView.Adapter<Adapterrecy7.ViewHolder> {


    private Context context;
    private LayoutInflater layoutInflater;
    //private List<Info> data;

    public static ArrayList<Structure> arrayList = new ArrayList<Structure>();

    public Adapterrecy7(Context context) {
        this.context = context;
        //this.data = data;
        layoutInflater = LayoutInflater.from(context);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = layoutInflater.inflate(R.layout.simple_recy3,parent,false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {


        holder.name.setText(MainActivity.Spices.get(position).getName());
        //holder.more.setText(MainActivity.fruits.get(position).getMore());
        //holder.aks.setText(MainActivity.fruits.get(position).getAks());









        String aks = MainActivity.Spices.get(position).getAks();
        int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName());
        holder.aks.setImageResource(id);


        holder.frameLayout.setOnClickListener(clickListener);
        holder.frameLayout.setId(position);







    }


    View.OnClickListener clickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int position = view.getId();
            Intent intent = new Intent(MainActivity.context,DataActivity.class);
            intent.putExtra("name" , "Spices");
            intent.putExtra("id",position + "");
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            MainActivity.context.startActivity(intent);

        }
    };

    @Override
    public int getItemCount() {
        return MainActivity.Spices.size();
        //return data.size();
        //return 0;
    }



    public class ViewHolder extends RecyclerView.ViewHolder {
        public TextView name;
        public ImageView aks;
        public TextView more;
        FrameLayout frameLayout;


        public ViewHolder(View itemView) {
            super(itemView);
            aks = (ImageView) itemView.findViewById(R.id.aks3);
            name = (TextView) itemView.findViewById(R.id.txtname3);
            more = (TextView) itemView.findViewById(R.id.txtname3);
            frameLayout = (FrameLayout) itemView.findViewById(R.id.kol);
        }
    }





}

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 دقیقه قبل، محمد جواد رجبی گفته است :

این کل کد های Adapterrecy


package com.example.user.khavaskadeh.Adap;

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.user.khavaskadeh.DataActivity;
import com.example.user.khavaskadeh.MainActivity;
import com.example.user.khavaskadeh.R;
import com.example.user.khavaskadeh.Structure;

import java.util.ArrayList;

/**
 * Created by user on 12/01/2017.
 */

public class Adapterrecy7 extends RecyclerView.Adapter<Adapterrecy7.ViewHolder> {


    private Context context;
    private LayoutInflater layoutInflater;
    //private List<Info> data;

    public static ArrayList<Structure> arrayList = new ArrayList<Structure>();

    public Adapterrecy7(Context context) {
        this.context = context;
        //this.data = data;
        layoutInflater = LayoutInflater.from(context);
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = layoutInflater.inflate(R.layout.simple_recy3,parent,false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {


        holder.name.setText(MainActivity.Spices.get(position).getName());
        //holder.more.setText(MainActivity.fruits.get(position).getMore());
        //holder.aks.setText(MainActivity.fruits.get(position).getAks());









        String aks = MainActivity.Spices.get(position).getAks();
        int id = MainActivity.context.getResources().getIdentifier(aks,"drawable",MainActivity.context.getPackageName());
        holder.aks.setImageResource(id);


        holder.frameLayout.setOnClickListener(clickListener);
        holder.frameLayout.setId(position);







    }


    View.OnClickListener clickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            int position = view.getId();
            Intent intent = new Intent(MainActivity.context,DataActivity.class);
            intent.putExtra("name" , "Spices");
            intent.putExtra("id",position + "");
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            MainActivity.context.startActivity(intent);

        }
    };

    @Override
    public int getItemCount() {
        return MainActivity.Spices.size();
        //return data.size();
        //return 0;
    }



    public class ViewHolder extends RecyclerView.ViewHolder {
        public TextView name;
        public ImageView aks;
        public TextView more;
        FrameLayout frameLayout;


        public ViewHolder(View itemView) {
            super(itemView);
            aks = (ImageView) itemView.findViewById(R.id.aks3);
            name = (TextView) itemView.findViewById(R.id.txtname3);
            more = (TextView) itemView.findViewById(R.id.txtname3);
            frameLayout = (FrameLayout) itemView.findViewById(R.id.kol);
        }
    }





}

 

 

کدتون داره درست کار میکنه و موقع اسکرول ارور میده. لطفا لاگ ارور رو بزارید تا خطا رو بهتون بگم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 3 دقیقه قبل، محمد جواد رجبی گفته است :

اینم یه عکس دیگه

 

 

2017-03-01 (2).png

 

ارور  out of memory  رو نشون میده 

حجم هر کدام از عکس ها چقدر میباشد ؟

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ضمن 7 تا تب دارم که هر کدوم رو که عکس بیشتری دارم عکس نشون دادنشون رو غیر فعال می کنم برنامه بهتر میشه

ویرایش شده توسط محمد جواد رجبی
لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 1 دقیقه قبل، محمد جواد رجبی گفته است :

در ضمن 7 تا تب دارم که هر کدوم رو که عکس بیشتری دارم عکس نشون دادنشون رو غیر فعال می کنم برنامه بهتر میشه

مشکل از مموری هستش.کد زیر رو بزاریید و ببیند چقدر رم داره استفاده میکنه

Runtime.getRuntime().gc();

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، Farzad Sarseifi گفته است :

مشکل از مموری هستش.کد زیر رو بزاریید و ببیند چقدر رم داره استفاده میکنه


Runtime.getRuntime().gc();

 

کجا بزارم؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در هم اکنون، Farzad Sarseifi گفته است :

توی اداپتر بزارید

چطوری بفهمم چه قدر داره  از رم استفاده می کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 3 ساعت قبل، محمد جواد رجبی گفته است :

چطوری بفهمم چه قدر داره  از رم استفاده می کنه

توی لاگ نشون میده چقدر رم مصرفه میکنه

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 3 دقیقه قبل، محمد جواد رجبی گفته است :

 

2017-03-02 (1).png

 

اگه دقت کنید میبنید تا ۱۸۴ مگابایت داره رم میکشه برنامه بخاطر همینه وسط کار برنامه ارور میده

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 5 دقیقه قبل، محمد جواد رجبی گفته است :

حالا باید چیکار کنم؟

 

مشکل تصاویرتون هستش،باید حجمشون رو کم کنید تا اینقدر رم رو اشغال رو نکنه که سیستم عامل از حافظه بندازدش بیرون

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 7 دقیقه قبل، Farzad Sarseifi گفته است :

مشکل تصاویرتون هستش،باید حجمشون رو کم کنید تا اینقدر رم رو اشغال رو نکنه که سیستم عامل از حافظه بندازدش بیرون

آقا ممنون درست شد مشکل از عکساش بود

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه سوال دیگه من این کد را نوشتم برای این که وقتی رو دگمه back کلیک بشه اگه navigaition View باز اون رو ببنده و اگه اون باز بسته بود از برنامه خارج شه ولی وقتی روی اون کلیک می کنم فورس کلوز میده

@Override
    public void onBackPressed() {


        if (drawerLayout.isDrawerOpen(Gravity.RIGHT)) {
            drawerLayout.closeDrawer(Gravity.RIGHT);
        }else {
            new MaterialDialog.Builder(MainActivity.this)
                    .title("خروج")
                    .content("آیا قصد خروج از برنامه را دارید؟")
                    .positiveText("بله")
                    .negativeText("خیر")
                    .onPositive(new MaterialDialog.SingleButtonCallback() {
                        @Override
                        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                            finish();


                        }
                    })
                    .show();
        }


    }

مشکلش چیه؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • مطالب مشابه

    • توسط aliazmoodeh
      سلام من یه آپی دارم یه قسمت وجود داره که اطلاعات رو از سرور میگیره و تو ریسایکلرویو نمایش میده من میخوام این اطلاعات رو تو حالت افلاین هم داشته باشم یعنی چی یعنی بتونم اطلاعاتی که از سرور گرفتم قبلا رو وقتی کاربر اینترنت بهش نمایش بدم دقیقن مثله تلگرام میگم ولی نمیدونم باید چیکار کنم اگر اموزشی در این رابط دارید بهم بگید یا سورسی دارید بهم بگید پولی یا رایگان باشه برام فرقی نمیکنه فقط میخوام مشکلمو حل کنه
    • توسط Vahid761
      دوستان سلام . لطفا کمک کنید . راستش من می خواستم یک text view بسازم که وقتی  یک button دستور یک دستور خاصی رو ارسال کنه متن اون text view تغیر کنه که البته تاحدودی هم موفق شدم ولی مشکلی که هست اینه که اون متن جدید   save نمیشه یعنی با یه باز وبسته کردن اپ دورباره برمیگرده به اون متن اولی یعنی می خوام اون متن جدید رو save کنم  دوستان اگه بلدید چطوری حل میشه خواهشا لطفا کمک کنید تا  این مشکل رو حل کنم ....
    • توسط h.a.m.i.d
      سلام دوستان وقت بخیر ، من دارم یه اپلیکشن آماده می کنم که ارتباط با سرور داره
      داخل هاست من یه یه دیتابیس دارم که اینجا تیبل  users مد نظرم هست، داخل این جدول من چهار ستون دارم که عبارتند از ID,username,pass,date
      date زمان عضوت کاربر به صورت خودکار پر میشه
      حالا سوال اینجاست که من یه بخش پروفایل داخل مین اکتیوتیم دارم که میخوام داخلش تاریخ عضویت کاربر نشون داده بشه، روال به اینصورت هست که داخل اپ یوزنیم و پس رو از شیردپرفرینس میگیره میفرسته به سمت سرور و داخل فایل php اطلاعات دریافت میشه و ستون تاریخ متناظر با اون اطلاعات کاربری دوباره ارسال میشه به سمت اندروید و محتوای تکست ویو مورد نظر رو میسازه ، ولی من تو دریافت اطلاعات از php داخل اپلیکیشن و نوشتن کدها به مشکل خوردم اگه ممکنه برنامه و یا کدهای  php رو برام اصلاح کنید ممنونم.
      برنامه سمت اندروید:
      private void ShowProfile(){ profile = new MaterialDialog.Builder(MainActivity.this) .customView(R.layout.alert_aprofile,false) .show(); AsyncHttpPost post = new AsyncHttpPost( "http://****************profile.php" ); post.setTimeout(5000); MultipartFormDataBody body = new MultipartFormDataBody(); body.addStringPart("Username",sp.getString("Username", null)); body.addStringPart("Pass",sp.getString("Pass", null)); post.setBody(body); AsyncHttpClient.getDefaultInstance().executeString(post, new AsyncHttpClient.StringCallback() { @Override public void onCompleted(final Exception e, AsyncHttpResponse source, final String result) { if (e != null) { MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { wait.dismiss(); Toast.makeText(MainActivity.this, "no connection", Toast.LENGTH_LONG).show(); e.printStackTrace(); } }); } if (!result.equals("")) { MainActivity.this.runOnUiThread(new Runnable() { @Override public void run() { items.clone(); try { JSONArray jsonArray = new JSONArray(result); for (int i = 0; i < jsonArray.length(); i++) { JSONObject object = jsonArray.getJSONObject(i); HashMap<String, Object> hash_add = new HashMap<String, Object>(); hash_add.put("Date", object.getString("Date")); hash_all.add(hash_add); items = new String[hash_all.size()]; } } catch (Exception e) { e.printStackTrace(); } } }); } } }); کدهای php :
      function get(){ $connection = connectToDatabase(); $Username = $_REQUEST['Username']; $Pass = $_REQUEST['Pass']; if($Username!="" && $Pass!=""){ $result = mysqli_query($connection,"select Date from users where Username='$Username' and Pass='$Pass'"); $array_finish = array(); while($row = mysqli_fetch_array($result)){ $record = array(); $record['Date'] = $row['Date']; $array_finish[] = $record ; } echo json_encode($array_finish); }else { print "null"; } mysqli_close($connection); } می دونم که سمت اندروید برنامه م کامل نیست پس اگه راهی هست راهنماییم کنید کدهای متناسب با این php رو داخل اندروید بنویسم.
      ممنونم
       
    • توسط takin
      سلام 
      داشتم یه بازی آنلاین چهار نفره میساختم که به مشکل بر خودم 
      داخل بازی ازین قراره که هرکس میتونه به چهار جهت بالا پایین حرکت کنه و شلیک کنه 
      توضیحات بیشتر درمورد بازی
      ما دو آبجکت داریم  (گلوله) (پلیر)
      x و y متغیر محور مکان آبجکت که با کلید ها تغییر میکنه .
      با گزینه اسپیس ابجکت گلوله به وجود میاد با مختصات همون آبجکتی که شلیک کرده 
      مشکل
      مشکلم تو ارسال اطلاعات برای بقیست
      مشکل اصلیم ارسال زمان شلیکه 
      نظر خودم
      به نظرم یه جدول در mysql درست کنم که هر شخص محور های x و y داخل اون بفرسته هر لحضه
      یه جدول دیگه درست کنم که هروقت شلیک کرد سه تا تب به اسم سه بازیکن دیگه بسازه که هرکدوم از سه نفر اطلاعاتشو دریافت کرد اون تبی که با آیدیشه پاک بشه
      به نظرم کار میکنه اما دنبال یه روش درستم 
       
       
    • توسط hackn82
      سلام خدمت اساتید گرامی . 

      من یه برنامه نوشتن که برای یادگیری لغاته . وقتی کاربر لغتی رو به بخش علاقه مندی اضافه می کنه لغت نمایش داده نمیشه و باید برنامه رو مجدد اجرا کرد تا لغت انتخاب شده به بخش علاقه مندی اضافه/ حذف بشه . همچنین بعد از هر بار اجرا لیست لغات تکرار میشه ( مثلا بار دوم از هر کدوم 2 سری بار سوم از هرکدوم 3 سری و ... ) ایجاد میشه . ممنون میشم راهنماییم کنید . 
       
      package farmani.com.essentialwordsforielts.mainPage; import android.Manifest; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Build; import android.os.Environment; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.design.widget.TabLayout; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.MenuItem; import android.view.View; import android.widget.ImageView; 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 java.util.ArrayList; import farmani.com.essentialwordsforielts.R; import farmani.com.essentialwordsforielts.search.ActivitySearch; public class MainActivity extends AppCompatActivity { public static Context context; public static ArrayList<Structure> list = new ArrayList<>(); public static ArrayList<Structure> favorite = new ArrayList<>(); DrawerLayout drawerLayout; NavigationView navigationView; ImageView hamburger; SQLiteDatabase database; String destPath; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.navigation_activity_main); if (Build.VERSION.SDK_INT >= 23) { if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE , Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); } else if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(MainActivity.this , new String[]{Manifest.permission.READ_EXTERNAL_STORAGE , Manifest.permission.WRITE_EXTERNAL_STORAGE} , 1); } else { setupDB(); selectList(); selectFavorite(); Toast.makeText(MainActivity.this, "You grandet earlier", Toast.LENGTH_LONG).show(); } } if (!favorite.isEmpty()){ favorite.clear(); selectFavorite(); } else if (!list.isEmpty()){ list.clear(); selectList(); } context = getApplicationContext(); setTabOption(); drawerLayout = findViewById(R.id.navigation_drawer); navigationView = findViewById(R.id.navigation_view); hamburger = findViewById(R.id.hamburger); hamburger.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { drawerLayout.openDrawer(Gravity.START); } }); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); if (id == R.id.exit) { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } if (id == R.id.search) { Intent intent = new Intent(MainActivity.this, ActivitySearch.class); MainActivity.this.startActivity(intent); } return true; } }); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { case 1: { if (grantResults.length >= 2 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(MainActivity.this, "Access granted", Toast.LENGTH_LONG).show(); } } } } @Override public void onBackPressed() { if (drawerLayout.isDrawerOpen(Gravity.START)) { drawerLayout.closeDrawer(Gravity.START); } else { AlertDialog.Builder alertDialog = new AlertDialog.Builder( MainActivity.this); alertDialog.setTitle(R.string.exit); alertDialog.setMessage(R.string.exit_ask); alertDialog.setCancelable(false); alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }); alertDialog.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); alertDialog.show(); } } private void setTabOption() { ViewPager viewPager = findViewById(R.id.viewpager); viewPager.setAdapter(new AdapterFragment(getSupportFragmentManager(), context)); TabLayout tabStrip = findViewById(R.id.tabs); tabStrip.setupWithViewPager(viewPager); } private void setupDB() { try { destPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ielts/"; File file = new File(destPath); if (!file.exists()) { file.mkdirs(); file.createNewFile(); CopyDB(getBaseContext().getAssets().open("md_book.db"), new FileOutputStream(destPath + "/md_book.db")); } } catch (IOException e1) { e1.printStackTrace(); } } @Override protected void onResume() { super.onResume(); if (!favorite.isEmpty()){ favorite.clear(); selectFavorite(); } else if (!list.isEmpty()){ list.clear(); selectList(); } } private void CopyDB(InputStream inputStream, OutputStream outputStream) throws IOException { byte[] buffer = new byte[1024]; int length; while ((length = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, length); } inputStream.close(); outputStream.close(); } private void selectFavorite() { database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main WHERE fav = 1", null); while (cursor.moveToNext()) { String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); favorite.add(struct); } } private void selectList() { database = SQLiteDatabase.openOrCreateDatabase(destPath + "/md_book.db", null); Cursor cursor = database.rawQuery("SELECT * FROM main", null); while (cursor.moveToNext()) { String word = cursor.getString(cursor.getColumnIndex("word")); String definition = cursor.getString(cursor.getColumnIndex("definition")); String trans = cursor.getString(cursor.getColumnIndex("trans")); String img = cursor.getString(cursor.getColumnIndex("img")); int id = cursor.getInt(cursor.getColumnIndex("id")); Structure struct = new Structure(word, definition, trans, img, id); struct.setWord(word); struct.setDefinition(definition); struct.setTrans(trans); struct.setImg(img); struct.setId(id); list.add(struct); } } }  
  • فایل

×
×
  • اضافه کردن...