خلاصه نویسی های برنامه نویسی اندروید

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

خلاصه نویسی های برنامه نویسی اندروید

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

دارم برنامه نویسی اندروید یاد می گیرم هر چی یاد می گیرم این جا می نویسم ایشالا
هر کی خواست دوره مکتب خونه رو بخره بگه من بهش کد تخفیف ۴۰ درصد بدم!

طبقه بندی موضوعی

مکتب خونه -لیست- cardview- recyclerview

شنبه, ۱۳ ارديبهشت ۱۳۹۹، ۰۵:۳۶ ق.ظ

البته این کد اگه استرینگ خالی بنویسی بزنی ادد یوزر اپ کرش میکنه!!

new->valuse resource file -> dimens:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="small_space">9dp</dimen>


</resources>

user.java

package ir.ben.practice;

public class user {
    private String name;
    private Integer score;
    private Integer rank;

    public String getName() {
        return name;
    }

    public int getScore() {
        return score;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setScore(int score) {
        this.score = score;
    }
}

MainActivity

package ir.ben.practice;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
Button bt,sho;
Integer n=9;
user hooloo;
    ranklist rr=new ranklist();

EditText tv,tnumv;
String ss;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        hooloo=new user();
        hooloo.setScore(23);
        hooloo.setName("OKKKK");

        bt=findViewById(R.id.button);
        sho=findViewById(R.id.openlist);
        tv=findViewById(R.id.tv);
        tnumv=findViewById(R.id.num);

        sho.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyFragment frag=new MyFragment();
                getSupportFragmentManager().beginTransaction().add(R.id.frame,frag).addToBackStack(null).
                        commit();

            }
        });

        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                hooloo.setName("*"+tv.getText().toString());
                hooloo.setScore(Integer.valueOf("1"+tnumv.getText().toString()));
                GoodShared.getInstance(MainActivity.this).addToWinnersNames(hooloo);
                rr=GoodShared.getInstance(MainActivity.this).getWinnersNames();
                tv.setText("SharedPrefrense ranklist size="+rr.getPeople().size());
                Log.d("starlog","kooft");
                for(user u:rr.getPeople())
                {
                    Log.d("win=    ",u.getName()+"  score: "+u.getScore());
                }
            }
        });
    }
}

Goodshared

package ir.ben.practice;

import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;

import com.google.gson.Gson;

public class GoodShared {

    private static GoodShared instance=null;
    private SharedPreferences folder=null;
    private SharedPreferences .Editor writer=null;
    private ranklist rn=new ranklist();
    private    Gson gg=new Gson();

    public static GoodShared getInstance(Context context)
    {
        if(instance==null)
            instance=new GoodShared(context);
        return instance;
    }
    private GoodShared(Context context)
    {
        folder=context.getSharedPreferences("winners",Context.MODE_PRIVATE);
        writer=folder.edit();
   //     rn=new ranklist();
    }

    public ranklist getWinnersNames()
    {
        return gg.fromJson(folder.getString("winners",null),ranklist.class);
    }

    public void addToWinnersNames(user hooloo)
    {
        String ss=folder.getString("winners",null);
        if(ss!=null)
            rn=gg.fromJson(ss,ranklist.class);
        else
            rn=new ranklist();
        rn.addnewuser(hooloo);
     //   writer.putString("winners",hooloo.getName());
        writer.putString("winners",gg.toJson(rn,ranklist.class));
        writer.apply();
    }
}

ranklist

package ir.ben.practice;

import java.util.ArrayList;
import java.util.List;

public class ranklist {
    private List<user> people;

    public ranklist() {
        people=new ArrayList<>();
    }


    public void addnewuser(user u){
        people.add(u);
    }


    public List<user> getPeople() {
        return people;
    }

    public void setPeople(List<user> people) {
        this.people = people;
    }
}

Myfragment

package ir.ben.practice;

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.google.gson.Gson;

import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;

public class MyFragment extends Fragment {

    RecyclerView frend;
    assistanUserAdapter assisstan;
    ranklist mellat;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment, container, false);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        frend=view.findViewById(R.id.bicycle);

//////        frend=viewfind

        mellat=GoodShared.getInstance(getActivity()).getWinnersNames();
        Comparator<user> how=new Comparator<user>() {
            @Override
            public int compare(user x, user y) {
                if(x.getScore()>y.getScore())
                    return -1;
                else if (x.getScore()<y.getScore())
                    return 1;
                return 0;
            }
        };

        Collections.sort(mellat.getPeople(),how);
        assisstan=new assistanUserAdapter(mellat.getPeople());
        Log.d("mellat  people size","="+mellat.getPeople().size());
       //// assisstan.notifyDataSetChanged();

        frend.setLayoutManager(new LinearLayoutManager(getActivity()));

         frend.setAdapter(assisstan);


   //     TextView tv=view.findViewById(R.id.hey);
     /////   tv.setText(this.getArguments().getString("namekey",null));
    }
}

 

assistantuser(adapter)

package ir.ben.practice;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import java.util.List;

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

    private List<user> hulua;
    public assistanUserAdapter(List<user> items)
    {
        hulua=items;
    }
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View vv= LayoutInflater.from(parent.getContext()).inflate(R.layout.onerow,parent,false);
        return new ViewHolder(vv);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.name.setText(hulua.get(position).getName());
holder.rank.setText(String.valueOf(position+1));
holder.score.setText(String.valueOf(hulua.get(position).getScore()));
    }

    @Override
    public int getItemCount() {
        return hulua.size();
    }

    class ViewHolder extends RecyclerView.ViewHolder{
        public TextView name;
        public TextView score;
        public TextView rank;

        public ViewHolder(View heh){
            super(heh);

            score=heh.findViewById(R.id.adad);
            name=heh.findViewById(R.id.bach);
            rank=heh.findViewById(R.id.rank);
        }
    }


}

 

 

 

fragment.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:background="@color/colorAccent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/hey"
        android:layout_width="100dp"
        android:layout_height="65dp"
        android:visibility="gone"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginEnd="149dp"
        android:layout_marginBottom="67dp" />

    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:id="@+id/bicycle"
        android:layout_height="200dp"/>

</RelativeLayout>

onerow.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_margin="3dp"
    android:layout_height="wrap_content">


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
    <TextView
        android:layout_width="0dp"
        android:id="@+id/rank"
        android:paddingLeft="@dimen/small_space"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        />
<ImageView
    android:layout_marginLeft="@dimen/small_space"
    android:layout_width="wrap_content"
    android:src="@drawable/ic_person_black_24dp"
    android:layout_height="wrap_content"
    />

    <TextView
        android:id="@+id/bach"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginRight="40dp"
        android:layout_weight="5"
        android:paddingLeft="@dimen/small_space"
        android:text="Bache" />

    <TextView
    android:id="@+id/adad"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:layout_marginRight="30dp"
    android:text="Emtiaz" />
</LinearLayout>



    </androidx.cardview.widget.CardView>

 

موافقین ۰ مخالفین ۰ ۹۹/۰۲/۱۳
Put Yourself First

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی