abc

Share This blog with your friends, so that we can improve more & more . our aim is to easy & simple way of learning.
Showing posts with label android development. Show all posts
Showing posts with label android development. Show all posts

2/13/2022

send DATA from one activity to other activity using simple technique in android.


 in this we will discuss of how to send data from one activity, using simple xml and java.

  step 1)  go to activity-main.xml and add below texbox and button , when user click on button textbox data pass to second activity. you can pass any data it may Firebase, MySQL , this is just sample to elaborate you how is this working.

 

 <EditText

      android:id = "@+id/edit_text"

      android:layout_width = "match_parent"

      android:layout_height = "wrap_content"

      android:layout_gravity = "center"

      android:hint = "Enter something to pass"

      android:inputType = "text" />

   <Button

      android:id = "@+id/button"

      android:layout_width = "wrap_content"

      android:layout_height = "wrap_content"

      android:layout_gravity = "center"

      android:layout_marginTop = "16dp"

      android:text = "Next" />

  

step 2) in oncreate method of mainactivity.java, add onclick method 

 final EditText editText = findViewById(R.id.edit_text);

      Button button = findViewById(R.id.button);

      button.setOnClickListener(new View.OnClickListener() {

         @Override

         public void onClick(View v) {

            String value = editText.getText().toString().trim();

            Intent intent = new Intent(MainActivity.this, SecondActivity.class);

            intent.putString(“value”,value);

            startActivity(intent);

         }

      });


step 3) view-senddata.xml , add any layout as you wish and paste below code,


 <TextView

      android:id = "@+id/text_view"

      android:layout_width = "match_parent"

      android:layout_height = "wrap_content"

      android:layout_gravity = "center" />


and java file of this view-senddata.xml add below code to receive content from intent.


Bundle bundle = getIntent().getExtras();

      if (bundle ! = null) {

         String value = bundle.getString("value");

         TextView textView = findViewById(R.id.text_view);

         textView.setText(value);

      }   

  

  

step 4. add both activity in manifest file .

 Notes - Intent is very useful part of android, with help of intent we can make runtime binding between the code in different applications , activity. in short this is message that is passed between components. 

it's time to go and check on emulator or real device. please test and comment your message "success", if it works perfect then OK, otherwise comment me if an error occurs.

2/12/2022

How to make expandable list in android.

  in this we will discuss of creation of listview with expandable option, using simple xml and java.

 

 step 1) create activity-main.xml file and add relative layout,

within this relative layout use below code, 

 

 <ExpandableListView

      android:id="@+id/expandList"

      android:layout_width="match_parent"

      android:layout_height="match_parent"

      android:divider="@android:color/background_light"

      android:dividerHeight="0.5dp"/>

 

 step 2) go to Mainactivity.java in oncreate method put below code,

 

    expandableListView = findViewById(R.id.expendableList);

expandableListDetail = ExpandableListmyclass.getData();

expandableListTitle = new ArrayList<>(expandableListDetail.keySet());

expandableListAdapter = new CustomExpandableListAdapter(this, expandableListTitle, expandableListDetail);

expandableListView.setAdapter(expandableListAdapter);

expandableListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {

@Override

public void onGroupExpand(int groupPosition) {

Toast.makeText(getApplicationContext(), expandableListTitle.get(groupPosition)

+ " List Expanded.", Toast.LENGTH_SHORT).show();

}

and simply create setOnGroupCollapseListener and setOnChildClickListener,

expandableListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {

      @Override

      public void onGroupCollapse(int groupPosition) {

         Toast.makeText(getApplicationContext(), expandableListTitle.get(groupPosition) + " List Collapsed.",

            Toast.LENGTH_SHORT).show();

      }

});

   expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

      @Override

      public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {

            Toast.makeText( getApplicationContext(), expandableListTitle.get(groupPosition) + "

               -> " + expandableListDetail.get( expandableListTitle.get(groupPosition)).get( childPosition), Toast.LENGTH_SHORT ).show();

            return false;

         }

    });

   

   create new class ExpandableListmyclass by creating new file ExpandableListmyclass.java

   

   simply add below code in class ,

   static HashMap<String, List<String>> getData() {

      HashMap<String, List<String>> expandableListDetail = new HashMap<>();

      List<String> myFavCricketPlayers = new ArrayList<>();

      myFavCricketPlayers.add("MS.Dhoni");

      myFavCricketPlayers.add("Sehwag");

      myFavCricketPlayers.add("Watson");

      myFavCricketPlayers.add("sachin tendulkar");

      myFavCricketPlayers.add("rahul dravid");

  expandableListDetail.put("CRICKET PLAYERS", myFavCricketPlayers);

}  

 

 

then add row list

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   android:orientation="vertical" android:layout_width="match_parent"

   android:layout_height="match_parent">

   <TextView

  android:id="@+id/listTitle"

  android:layout_width="fill_parent"

  android:layout_height="wrap_content"

  android:padding="10dp"

  android:textColor="@android:color/black" />

</LinearLayout>


and manifest file no change.

it's time to go and check on emulator or real device. please comment your message "success", if it works perfect, otherwise comment me if an error occurs.

12/22/2021

How to insert and view Firebase database in android?

Firebase gives real-time database which as lightweight, fast access. multiple devices can communicate with using same database for example eCommerce database.

Let's take an example of adding employee details and view it as list.
for this we have taken three edit-text and two button which design as follows,

activity_main.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/idEdtEmployeeName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"
        android:hint="Enter Employee Name"
        android:importantForAutofill="no"
        android:inputType="textPersonName" />
    <EditText
        android:id="@+id/idEdtEmployeePhoneNumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/idEdtEmployeeName"
        android:layout_margin="10dp"
        android:hint="Enter employee phone number"
        android:importantForAutofill="no"
        android:inputType="phone" />
    <EditText
        android:id="@+id/idEdtEmployeeAddress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/idEdtEmployeePhoneNumber"
        android:layout_margin="10dp"
        android:hint="Enter employee address"
        android:inputType="textPostalAddress" />

    <Button
        android:id="@+id/idBtnSendData"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/idEdtEmployeeAddress"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        android:text="Add employee details"
        android:textAllCaps="false" />

    <Button
        android:id="@+id/BtnviewData"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/idBtnSendData"
        android:layout_marginStart="10dp"
        android:layout_marginTop="72dp"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        android:text="View employee details"
        android:textAllCaps="false" />

    <ListView
        android:id ="@+id/listviewalldata"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/BtnviewData"
        android:layout_marginStart="10dp"
        android:layout_marginTop="72dp"
        android:layout_marginEnd="10dp"
        android:layout_marginBottom="10dp"
        />


</RelativeLayout>


then write class for employee information,

public class EmployeeInfo {

    private String employeeName;
    private String employeeContactNumber;
    private String employeeAddress;
    // Firebase Realtime Database.
    public EmployeeInfo() {

    }
    // for all our variables.
    public String getEmployeeName() {
        return employeeName;
    }
    public void setEmployeeName(String employeeName) {
        this.employeeName = employeeName;
    }
    public String getEmployeeContactNumber() {
        return employeeContactNumber;
    }
    public void setEmployeeContactNumber(String employeeContactNumber) {
        this.employeeContactNumber = employeeContactNumber;
    }
    public String getEmployeeAddress() {
        return employeeAddress;
    }
    public void setEmployeeAddress(String employeeAddress) {
        this.employeeAddress = employeeAddress;
    }
}

-- after writing above class go to mainactivity and declare variables and design items

private EditText employeeNameEdt, employeePhoneEdt, employeeAddressEdt;
    private Button sendDatabtn,viewdatabutn;
    FirebaseDatabase firebaseDatabase;  // Firebase Database
    DatabaseReference databaseReference;  // Reference for Firebase.
    EmployeeInfo employeeInfo;    // our object class
    private ListView employeelistview;
    ArrayList<String> employeeArrayList;
employeeNameEdt = findViewById(R.id.idEdtEmployeeName);
employeePhoneEdt = findViewById(R.id.idEdtEmployeePhoneNumber);
employeeAddressEdt = findViewById(R.id.idEdtEmployeeAddress);
firebaseDatabase = FirebaseDatabase.getInstance();// instance of our FIrebase database.
databaseReference = firebaseDatabase.getReference("EmployeeInfo");
employeeInfo = new EmployeeInfo();        // class variable.
sendDatabtn = findViewById(R.id.idBtnSendData);
viewdatabutn = findViewById(R.id.BtnviewData);

employeelistview = findViewById(R.id.listviewalldata);


and use onclicklistner for both button .

in above database can be initialised as , 

 firebaseDatabase = FirebaseDatabase.getInstance();// instance of our FIrebase database.
 databaseReference = firebaseDatabase.getReference("EmployeeInfo");

now before writing final code of mainactivity.xml do the following for connection with firebase.
step1) open firebase console, download google-services.json file from project setting and copy to android-studio--project--app folder
step2) from menu -- tools--firebase-- find realtime database.
step3) click on add dependcies, and then click on connect to firebase, it will start building, it may shows error while connecting, for this come to mainactivity.java file and paste following final code.

public class MainActivity extends AppCompatActivity {
    private EditText employeeNameEdt, employeePhoneEdt, employeeAddressEdt;
    private Button sendDatabtn,viewdatabutn;
    FirebaseDatabase firebaseDatabase;  // Firebase Database
    DatabaseReference databaseReference;  // Reference for Firebase.
    EmployeeInfo employeeInfo;    // our object class
    private ListView employeelistview;
    ArrayList<String> employeeArrayList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        employeeNameEdt = findViewById(R.id.idEdtEmployeeName);
        employeePhoneEdt = findViewById(R.id.idEdtEmployeePhoneNumber);
        employeeAddressEdt = findViewById(R.id.idEdtEmployeeAddress);
        firebaseDatabase = FirebaseDatabase.getInstance();// instance of our FIrebase database.
        databaseReference = firebaseDatabase.getReference("EmployeeInfo");
        employeeInfo = new EmployeeInfo();        // class variable.
        sendDatabtn = findViewById(R.id.idBtnSendData);
        viewdatabutn = findViewById(R.id.BtnviewData);

        employeelistview = findViewById(R.id.listviewalldata);
        try {
            employeeArrayList = new ArrayList<>();
            initializeListView();
        }
        catch (Exception e)
        {
            Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
        }
        sendDatabtn.setOnClickListener(v -> {
            String name = employeeNameEdt.getText().toString();
            String phone = employeePhoneEdt.getText().toString();
            String address = employeeAddressEdt.getText().toString();
            if (TextUtils.isEmpty(name) && TextUtils.isEmpty(phone) && TextUtils.isEmpty(address)) {
                Toast.makeText(MainActivity.this, "Please add some data.", Toast.LENGTH_SHORT).show();
            }
            else {
                // else call the method to add
                addDatatoFirebase(name, phone, address);
            }
        });
        viewdatabutn.setOnClickListener(v ->
                initializeListView()
        );


    }

    private void initializeListView() {
        String[] emptylist = new String[] {};
        final List<String> fruits_list = new ArrayList<>(Arrays.asList(emptylist));
        final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>
                (this, android.R.layout.simple_list_item_1, fruits_list);

        ValueEventListener eventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for(DataSnapshot ds : dataSnapshot.getChildren()) {
                    String address = ds.child("employeeAddress").getValue(String.class);
                    String name = ds.child("employeeName").getValue(String.class);
                    fruits_list.add(address + " / " + name);
                    arrayAdapter.notifyDataSetChanged();
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {}
        };
        databaseReference.addListenerForSingleValueEvent(eventListener);
        employeelistview.setAdapter(arrayAdapter);
    }



    private void addDatatoFirebase(String name, String phone, String address) {
        try {
            employeeInfo.setEmployeeName(name);
            employeeInfo.setEmployeeContactNumber(phone);
            employeeInfo.setEmployeeAddress(address);
            databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
                String userId = databaseReference.push().getKey();
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    // in case database so much , uncomment below line, shortcut way to delete all data
                    //databaseReference.getRef().removeValue();
                    databaseReference.child(userId).setValue(employeeInfo);
                    Toast.makeText(MainActivity.this, "data added", Toast.LENGTH_SHORT).show();
                    initializeListView();
                }
                @Override
                public void onCancelled(@NonNull DatabaseError error) {
                    Toast.makeText(MainActivity.this, "Fail to add data " + error, Toast.LENGTH_SHORT).show();
                }
            });
        }
        catch(Exception e)
        {
            Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_SHORT).show();
        }
    }
}

and also add dependencies of internet access to manifest file.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Now come again and click on Firebase connect from assistant box of android studio.
it will connect successfully,

Finally it's time to test in real device.

Test on your device and if you success in output please type "perfect" word in comment box.

12/20/2021

How to add search box for list of items in android

 While using number of items like eCommerce product, library, news in such cases we use search box for finding exact item.

 for this we use below steps,

 step 1) create android studio empty project, go to res-->layout-->main.xml and add below code,

 <ListView

        android:id="@+id/lv1"

        android:layout_width="376dp"

        android:layout_height="664dp"

        android:layout_marginStart="16dp"

        android:layout_marginTop="64dp"

        android:divider="#ad5"

        android:dividerHeight="2dp"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent" />


in the same folder create menu folder(from right button click on res folder-->resource directory and select menu),

step 2) then add below code in menu.xml file.

<menu xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto">


    <item

        android:id="@+id/app_bar_search"

        android:icon="@android:drawable/ic_menu_search"

        android:title="Search"

        app:showAsAction="ifRoom|withText"

        app:actionViewClass="android.widget.SearchView">

    </item>

</menu>

 

step 3) finally go to mainactivity.java , and use below code.

ListView listView;

    ArrayList<String> list;

    ArrayAdapter<String> adapter;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        listView = findViewById(R.id.lv1);

        list = new ArrayList<>();

        list.add("Website");

        list.add("Software");

        list.add("Mobile app");

        list.add("php development");

        list.add("java development");

        list.add("Net development");

        list.add("mysql development");

        list.add("Html, css");

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);

        listView.setAdapter(adapter);

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.menu, menu);

        MenuItem searchViewItem = menu.findItem(R.id.app_bar_search);

        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchViewItem);

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override

            public boolean onQueryTextSubmit(String query) {

                searchView.clearFocus();

                return false;

            }

            @Override

            public boolean onQueryTextChange(String newText) {

                adapter.getFilter().filter(newText);

                return false;

            }

        });

        return super.onCreateOptionsMenu(menu);

    } 

 

step 4) now it's time to test on emulator(from menu -->run-->click on run) or real android phone.

 output is like this, on top action bar click on search icon and type specific item from list.you will see how is works.




Output of Search items.

12/18/2021

How to check permission while creating android app .


 While running app, some app initially or button click it will ask for allow or deny permission for example, allow camera, allow microphone, allow camera, allow location .


for this use simply do the following steps:

step 1 ) AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />  for internet permission
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"  /> write permission
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />  read permission
<uses-permission android:name="android.permission.CAMERA" />  for camera
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  for access location

Step 2 ) go to Mainactivity.java or wherever you want to ask permission add below code

declare variable as, private static final int STORAGE_PERMISSION_CODE = 101;

call method , checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, STORAGE_PERMISSION_CODE);

define function,

 public void checkPermission(String permission, int requestCode)
{
if (ContextCompat.checkSelfPermission(MainActivity.this, permission) == PackageManager.PERMISSION_DENIED) {

// Requesting the permission
ActivityCompat.requestPermissions(MainActivity.this, new String[] { permission }, requestCode);
}
else {
Toast.makeText(MainActivity.this, "Permission already granted", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);


if (requestCode == STORAGE_PERMISSION_CODE) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(MainActivity.this, "Storage Permission Granted", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(MainActivity.this, "Storage Permission Denied", Toast.LENGTH_SHORT).show();
}
}
}

above is example storage permission ask, in the similar way other permission will work.

refer below table for permission,



Permissions Detail
<uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS"> </uses-permission> Access All Downloads
<uses-permission android:name="android.permission.ACCESS_BLUETOOTH_SHARE"> </uses-permission> Access Bluetooth Share
<uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"> </uses-permission> Access Cache Filesystem
<uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"> </uses-permission> Access Checkin Properties
<uses-permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"> </uses-permission> Access Content Providers Externally
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"> </uses-permission> Access Download Manager
<uses-permission android:name="android.permission.ACCESS_FM_RADIO"> </uses-permission> Access Fm Radio
<uses-permission android:name="android.permission.ACCESS_INPUT_FLINGER"> </uses-permission> Access Input Flinger
<uses-permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"> </uses-permission> Access Keyguard Secure Storage
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"> </uses-permission> Access Location Extra Commands
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"> </uses-permission> Access Mock Location
<uses-permission android:name="android.permission.ACCESS_MTP"> </uses-permission> Access Mtp(media transfer protocol)
<uses-permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"> </uses-permission> Access Network Conditions
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> </uses-permission> Access Network State
<uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS"> </uses-permission> Access Notifications
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"> </uses-permission> Access Notification Policy
<uses-permission android:name="android.permission.ACCESS_PDB_STATE"> </uses-permission> Access Pdb State(plug able database)
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER"> </uses-permission> Access Surface Flinger
<uses-permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"> </uses-permission> Access Voice Interaction Service
<uses-permission android:name="android.permission.ACCESS_VR_MANAGER"> </uses-permission> Access Vr Manager(virtual reality)
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"> </uses-permission> Access Wifi State
<uses-permission android:name="android.permission.ACCESS_WIMAX_STATE"> </uses-permission> Access Wimax State
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"> </uses-permission> Account Manager
<uses-permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"> </uses-permission> Allow Any Codec For Playback
<uses-permission android:name="android.permission.ASEC_ACCESS"> </uses-permission> Asec(Android secure encrypted) Access
<uses-permission android:name="android.permission.ASEC_CREATE"> </uses-permission> Asec(Android secure encrypted) Create
<uses-permission android:name="android.permission.ASEC_DESTROY"> </uses-permission> Asec(Android secure encrypted) Destroy
<uses-permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"> </uses-permission> Asec(Android secure encrypted) Mount Unmount
<uses-permission android:name="android.permission.ASEC_RENAME"> </uses-permission> Asec(Android secure encrypted) Rename
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"> </uses-permission> Authenticate Accounts
<uses-permission android:name="android.permission.BACKUP"> </uses-permission> Backup
<uses-permission android:name="android.permission.BATTERY_STATS"> </uses-permission> Battery Stats
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"> </uses-permission> Bind Accessibility Service
<uses-permission android:name="android.permission.BIND_APPWIDGET"> </uses-permission> Bind Appwidget
<uses-permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"> </uses-permission> Bind Carrier Messaging Service
<uses-permission android:name="android.permission.BIND_CARRIER_SERVICES"> </uses-permission> Bind Carrier Services
<uses-permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"> </uses-permission> Bind Chooser Target Service
<uses-permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"> </uses-permission> Bind Condition Provider Service
<uses-permission android:name="android.permission.BIND_CONNECTION_SERVICE"> </uses-permission> Bind Connection Service
<uses-permission android:name="android.permission.BIND_DEVICE_ADMIN"> </uses-permission> Bind Device Admin
<uses-permission android:name="android.permission.BIND_DIRECTORY_SEARCH"> </uses-permission> Bind Directory Search
<uses-permission android:name="android.permission.BIND_DREAM_SERVICE"> </uses-permission> Bind Dream Service
<uses-permission android:name="android.permission.BIND_INCALL_SERVICE"> </uses-permission> Bind Incall Service
<uses-permission android:name="android.permission.BIND_INPUT_METHOD"> </uses-permission> Bind Input Method
<uses-permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"> </uses-permission> Bind Intent Filter Verifier
<uses-permission android:name="android.permission.BIND_JOB_SERVICE"> </uses-permission> Bind Job Service
<uses-permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"> </uses-permission> Bind Keyguard Appwidget
<uses-permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"> </uses-permission> Bind Midi Device Service
<uses-permission android:name="android.permission.BIND_NFC_SERVICE"> </uses-permission> Bind Nfc Service
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> </uses-permission> Bind Notification Listener Service
<uses-permission android:name="android.permission.BIND_NOTIFICATION_RANKER_SERVICE"> </uses-permission> Bind Notification Ranker Service
<uses-permission android:name="android.permission.BIND_PACKAGE_VERIFIER"> </uses-permission> Bind Package Verifier
<uses-permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"> </uses-permission> Bind Print Recommendation Service
<uses-permission android:name="android.permission.BIND_PRINT_SERVICE"> </uses-permission> Bind Print Service
<uses-permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"> </uses-permission> Bind Print Spooler Service
<uses-permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"> </uses-permission> Bind Quick Settings Tile
<uses-permission android:name="android.permission.BIND_REMOTEVIEWS"> </uses-permission> Bind Remoteviews
<uses-permission android:name="android.permission.BIND_REMOTE_DISPLAY"> </uses-permission> Bind Remote Display
<uses-permission android:name="android.permission.BIND_ROUTE_PROVIDER"> </uses-permission> Bind Route Provider
<uses-permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"> </uses-permission> Bind Runtime Permission Presenter Service
<uses-permission android:name="android.permission.BIND_SCREENING_SERVICE"> </uses-permission> Bind Screening Service
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"> </uses-permission> Bind Telecom Connection Service
<uses-permission android:name="android.permission.BIND_TEXT_SERVICE"> </uses-permission> Bind Text Service
<uses-permission android:name="android.permission.BIND_TRUST_AGENT"> </uses-permission> Bind Trust Agent
<uses-permission android:name="android.permission.BIND_TV_INPUT"> </uses-permission> Bind Tv Input
<uses-permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"> </uses-permission> Bind Tv Remote Service
<uses-permission android:name="android.permission.BIND_VOICE_INTERACTION"> </uses-permission> Bind Voice Interaction
<uses-permission android:name="android.permission.BIND_VPN_SERVICE"> </uses-permission> Bind Vpn Service
<uses-permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"> </uses-permission> Bind Vr Listener Service
<uses-permission android:name="android.permission.BIND_WALLPAPER"> </uses-permission> Bind Wallpaper
<uses-permission android:name="android.permission.BLUETOOTH"> </uses-permission> Bluetooth
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"> </uses-permission> Bluetooth Admin
<uses-permission android:name="android.permission.BLUETOOTH_MAP"> </uses-permission> Bluetooth Map
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"> </uses-permission> Bluetooth Privileged
<uses-permission android:name="android.permission.BLUETOOTH_STACK"> </uses-permission> Bluetooth Stack
<uses-permission android:name="android.permission.BRICK"> </uses-permission> Brick
<uses-permission android:name="android.permission.BROADCAST_CALLLOG_INFO"> </uses-permission> Broadcast Call log Info
<uses-permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"> </uses-permission> Broadcast Network Privileged
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"> </uses-permission> Broadcast Package Removed
<uses-permission android:name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION"> </uses-permission> Broadcast Phone Account Registration
<uses-permission android:name="android.permission.BROADCAST_SMS"> </uses-permission> Broadcast Sms
<uses-permission android:name="android.permission.BROADCAST_STICKY"> </uses-permission> Broadcast Sticky
<uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"> </uses-permission> Broadcast Wap Push(just like mms)
<uses-permission android:name="android.permission.CACHE_CONTENT"> </uses-permission> Cache Content
<uses-permission android:name="android.permission.CALL_PRIVILEGED"> </uses-permission> Call Privileged
<uses-permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"> </uses-permission> Camera Disable Transmit Led
<uses-permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"> </uses-permission> Camera Send System Events
<uses-permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"> </uses-permission> Capture Audio Hotword
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"> </uses-permission> Capture Audio Output
<uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"> </uses-permission> Capture Secure Video Output
<uses-permission android:name="android.permission.CAPTURE_TV_INPUT"> </uses-permission> Capture Tv Input
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"> </uses-permission> Capture Video Output
<uses-permission android:name="android.permission.CARRIER_FILTER_SMS"> </uses-permission> Carrier Filter Sms
<uses-permission android:name="android.permission.CHANGE_APP_IDLE_STATE"> </uses-permission> Change App Idle State
<uses-permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"> </uses-permission> Change Background Data Setting
<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"> </uses-permission> Change Component Enabled State
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"> </uses-permission> Change Configuration
<uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"> </uses-permission> Change Device Idle Temp Whitelist
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"> </uses-permission> Change Network State
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"> </uses-permission> Change Wifi Multicast State
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"> </uses-permission> Change Wifi State
<uses-permission android:name="android.permission.CHANGE_WIMAX_STATE"> </uses-permission> Change Wimax State
<uses-permission android:name="android.permission.CLEAR_APP_CACHE"> </uses-permission> Clear App Cache
<uses-permission android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"> </uses-permission> Clear App Granted Uri Permissions
<uses-permission android:name="android.permission.CLEAR_APP_USER_DATA"> </uses-permission> Clear App User Data
<uses-permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_TRANSFORM"> </uses-permission> Configure Display Color Transform
<uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"> </uses-permission> Configure Wifi Display
<uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"> </uses-permission> Confirm Full Backup
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL"> </uses-permission> Connectivity Internal
<uses-permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"> </uses-permission> Control Incall Experience
<uses-permission android:name="android.permission.CONTROL_KEYGUARD"> </uses-permission> Control Keyguard
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"> </uses-permission> Control Location Updates
<uses-permission android:name="android.permission.CONTROL_VPN"> </uses-permission> Control Vpn
<uses-permission android:name="android.permission.CONTROL_WIFI_DISPLAY"> </uses-permission> Control Wifi Display
<uses-permission android:name="android.permission.COPY_PROTECTED_DATA"> </uses-permission> Copy Protected Data
<uses-permission android:name="android.permission.CREATE_USERS"> </uses-permission> Create Users
<uses-permission android:name="android.permission.CRYPT_KEEPER"> </uses-permission> Crypt Keeper
<uses-permission android:name="android.permission.DELETE_CACHE_FILES"> </uses-permission> Delete Cache Files
<uses-permission android:name="android.permission.DELETE_PACKAGES"> </uses-permission> Delete Packages
<uses-permission android:name="android.permission.DEVICE_POWER"> </uses-permission> Device Power
<uses-permission android:name="android.permission.DIAGNOSTIC"> </uses-permission> Diagnostic
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"> </uses-permission> Disable Keyguard
<uses-permission android:name="android.permission.DISPATCH_NFC_MESSAGE"> </uses-permission> Dispatch Nfc Message
<uses-permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"> </uses-permission> Dispatch Provisioning Message
<uses-permission android:name="android.permission.DOWNLOAD_CACHE_NON_PURGEABLE"> </uses-permission> Download Cache Non Purgeable
<uses-permission android:name="android.permission.DUMP"> </uses-permission> Dump
<uses-permission android:name="android.permission.DVB_DEVICE"> </uses-permission> Dvb Device
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR"> </uses-permission> Expand Status Bar
<uses-permission android:name="android.permission.FACTORY_TEST"> </uses-permission> Factory Test
<uses-permission android:name="android.permission.FILTER_EVENTS"> </uses-permission> Filter Events
<uses-permission android:name="android.permission.FLASHLIGHT"> </uses-permission> Flashlight
<uses-permission android:name="android.permission.FORCE_BACK"> </uses-permission> Force Back
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"> </uses-permission> Force Stop Packages
<uses-permission android:name="android.permission.FRAME_STATS"> </uses-permission> Frame Stats
<uses-permission android:name="android.permission.FREEZE_SCREEN"> </uses-permission> Freeze Screen
<uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"> </uses-permission> Get Accounts Privileged
<uses-permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"> </uses-permission> Get App Granted Uri Permissions
<uses-permission android:name="android.permission.GET_APP_OPS_STATS"> </uses-permission> Get App Ops Stats
<uses-permission android:name="android.permission.GET_DETAILED_TASKS"> </uses-permission> Get Detailed Tasks
<uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT"> </uses-permission> Get Intent Sender Intent
<uses-permission android:name="android.permission.GET_PACKAGE_IMPORTANCE"> </uses-permission> Get Package Importance
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE"> </uses-permission> Get Package Size
<uses-permission android:name="android.permission.GET_PASSWORD"> </uses-permission> Get Password
<uses-permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"> </uses-permission> Get Process State And Oom Score
<uses-permission android:name="android.permission.GET_TASKS"> </uses-permission> Get Tasks
<uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"> </uses-permission> Get Top Activity Info
<uses-permission android:name="android.permission.GLOBAL_SEARCH"> </uses-permission> Global Search
<uses-permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"> </uses-permission> Global Search Control
<uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"> </uses-permission> Grant Runtime Permissions
<uses-permission android:name="android.permission.HARDWARE_TEST"> </uses-permission> Hardware Test
<uses-permission android:name="android.permission.HDMI_CEC"> </uses-permission> Hdmi Cec
<uses-permission android:name="android.permission.INJECT_EVENTS"> </uses-permission> Inject Events
<uses-permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"> </uses-permission> Install Grant Runtime Permissions
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"> </uses-permission> Install Location Provider
<uses-permission android:name="android.permission.INSTALL_PACKAGES"> </uses-permission> Install Packages
<uses-permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"> </uses-permission> Intent Filter Verification Agent
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"> </uses-permission> Interact Across Users
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"> </uses-permission> Interact Across Users Full
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"> </uses-permission> Internal System Window
<uses-permission android:name="android.permission.INTERNET"> </uses-permission> Internet
<uses-permission android:name="android.permission.INVOKE_CARRIER_SETUP"> </uses-permission> Invoke Carrier Setup
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"> </uses-permission> Kill Background Processes
<uses-permission android:name="android.permission.KILL_UID"> </uses-permission> Kill Uid
<uses-permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"> </uses-permission> Launch Trust Agent Settings
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS"> </uses-permission> Local Mac Address
<uses-permission android:name="android.permission.LOCATION_HARDWARE"> </uses-permission> Location Hardware
<uses-permission android:name="android.permission.LOOP_RADIO"> </uses-permission> Loop Radio
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"> </uses-permission> Manage Accounts
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"> </uses-permission> Manage Activity Stacks
<uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"> </uses-permission> Manage App Ops Restrictions
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS"> </uses-permission> Manage App Tokens
<uses-permission android:name="android.permission.MANAGE_CA_CERTIFICATES"> </uses-permission> Manage Ca Certificates
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS"> </uses-permission> Manage Device Admins
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS"> </uses-permission> Manage Documents
<uses-permission android:name="android.permission.MANAGE_FINGERPRINT"> </uses-permission> Manage Fingerprint
<uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"> </uses-permission> Manage Media Projection
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY"> </uses-permission> Manage Network Policy
<uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS"> </uses-permission> Manage Notifications
<uses-permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"> </uses-permission> Manage Profile And Device Owners
<uses-permission android:name="android.permission.MANAGE_SOUND_TRIGGER"> </uses-permission> Manage Sound Trigger
<uses-permission android:name="android.permission.MANAGE_USB"> </uses-permission> Manage Usb
<uses-permission android:name="android.permission.MANAGE_USERS"> </uses-permission> Manage Users
<uses-permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"> </uses-permission> Manage Voice Keyphrases
<uses-permission android:name="android.permission.MASTER_CLEAR"> </uses-permission> Master Clear
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"> </uses-permission> Media Content Control
<uses-permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"> </uses-permission> Modify Appwidget Bind Permissions
<uses-permission android:name="android.permission.MODIFY_AUDIO_ROUTING"> </uses-permission> Modify Audio Routing
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"> </uses-permission> Modify Audio Settings
<uses-permission android:name="android.permission.MODIFY_CELL_BROADCASTS"> </uses-permission> Modify Cell Broadcasts
<uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"> </uses-permission> Modify Day Night Mode
<uses-permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"> </uses-permission> Modify Network Accounting
<uses-permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"> </uses-permission> Modify Parental Controls
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"> </uses-permission> Modify Phone State
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"> </uses-permission> Mount Format Filesystems
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"> </uses-permission> Mount Unmount Filesystems
<uses-permission android:name="android.permission.MOVE_PACKAGE"> </uses-permission> Move Package
<uses-permission android:name="android.permission.NET_ADMIN"> </uses-permission> Net Admin
<uses-permission android:name="android.permission.NET_TUNNELING"> </uses-permission> Net Tunneling
<uses-permission android:name="android.permission.NFC"> </uses-permission>Allow access to the NFC reader for Cardboard to use
<uses-permission android:name="android.permission.NFC_HANDOVER_STATUS"> </uses-permission> Nfc Handover Status
<uses-permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"> </uses-permission> Notify Pending System Update
<uses-permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"> </uses-permission> Observe Grant Revoke Permissions
<uses-permission android:name="android.permission.OEM_UNLOCK_STATE"> </uses-permission> Oem Unlock State
<uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"> </uses-permission> Override Wifi Config
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"> </uses-permission> Package Usage Stats
<uses-permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"> </uses-permission> Package Verification Agent
<uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"> </uses-permission> Packet Keepalive Offload
<uses-permission android:name="android.permission.PEERS_MAC_ADDRESS"> </uses-permission> Peers Mac Address
<uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"> </uses-permission> Perform Cdma Provisioning
<uses-permission android:name="android.permission.PERFORM_SIM_ACTIVATION"> </uses-permission> Perform Sim Activation
<uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"> </uses-permission> Persistent Activity
<uses-permission android:name="android.permission.PROCESS_CALLLOG_INFO"> </uses-permission> Process Calllog Info
<uses-permission android:name="android.permission.PROCESS_PHONE_ACCOUNT_REGISTRATION"> </uses-permission> Process Phone Account Registration
<uses-permission android:name="android.permission.PROVIDE_TRUST_AGENT"> </uses-permission> Provide Trust Agent
<uses-permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"> </uses-permission> Query Do Not Ask Credentials On Boot
<uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS"> </uses-permission> Read Blocked Numbers
<uses-permission android:name="android.permission.READ_DREAM_STATE"> </uses-permission> Read Dream State
<uses-permission android:name="android.permission.READ_FRAME_BUFFER"> </uses-permission> Read Frame Buffer
<uses-permission android:name="android.permission.READ_INPUT_STATE"> </uses-permission> Read Input State
<uses-permission android:name="android.permission.READ_INSTALL_SESSIONS"> </uses-permission> Read Install Sessions
<uses-permission android:name="android.permission.READ_LOGS"> </uses-permission> Read Logs
<uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"> </uses-permission> Read Network Usage History
<uses-permission android:name="android.permission.READ_OEM_UNLOCK_STATE"> </uses-permission> Read Oem Unlock State
<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE"> </uses-permission> Read Precise Phone State
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"> </uses-permission> Read Privileged Phone State
<uses-permission android:name="android.permission.READ_PROFILE"> </uses-permission> Read Profile
<uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES"> </uses-permission> Read Search Indexables
<uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> </uses-permission> Read Social Stream
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"> </uses-permission> Read Sync Settings
<uses-permission android:name="android.permission.READ_SYNC_STATS"> </uses-permission> Read Sync Stats
<uses-permission android:name="android.permission.READ_USER_DICTIONARY"> </uses-permission> Read User Dictionary
<uses-permission android:name="android.permission.READ_WIFI_CREDENTIAL"> </uses-permission> Read Wifi Credential
<uses-permission android:name="android.permission.REAL_GET_TASKS"> </uses-permission> Real Get Tasks
<uses-permission android:name="android.permission.REBOOT"> </uses-permission> Reboot
<uses-permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"> </uses-permission> Receive Bluetooth Map
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"> </uses-permission> Receive Boot Completed
<uses-permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"> </uses-permission> Receive Data Activity Change
<uses-permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"> </uses-permission> Receive Emergency Broadcast
<uses-permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"> </uses-permission> Receive Media Resource Usage
<uses-permission android:name="android.permission.RECEIVE_STK_COMMANDS"> </uses-permission> Receive Stk Commands
<uses-permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"> </uses-permission> Receive Wifi Credential Change
<uses-permission android:name="android.permission.RECOVERY"> </uses-permission> Recovery
<uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER"> </uses-permission> Register Call Provider
<uses-permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"> </uses-permission> Register Connection Manager
<uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"> </uses-permission> Register Sim Subscription
<uses-permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"> </uses-permission> Register Window Manager Listeners
<uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"> </uses-permission> Remote Audio Playback
<uses-permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"> </uses-permission> Remove Drm Certificates
<uses-permission android:name="android.permission.REMOVE_TASKS"> </uses-permission> Remove Tasks
<uses-permission android:name="android.permission.REORDER_TASKS"> </uses-permission> Reorder Tasks
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"> </uses-permission> Request Ignore Battery Optimizations
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"> </uses-permission> Request Install Packages
<uses-permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"> </uses-permission> Reset Fingerprint Lockout
<uses-permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"> </uses-permission> Reset Shortcut Manager Throttling
<uses-permission android:name="android.permission.RESTART_PACKAGES"> </uses-permission> Restart Packages
<uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"> </uses-permission> Retrieve Window Content
<uses-permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"> </uses-permission> Retrieve Window Token
<uses-permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"> </uses-permission> Revoke Runtime Permissions
<uses-permission android:name="android.permission.SCORE_NETWORKS"> </uses-permission> Score Networks
<uses-permission android:name="android.permission.SEND_CALL_LOG_CHANGE"> </uses-permission> Send Call Log Change
<uses-permission android:name="android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS"> </uses-permission> Send Download Completed Intents
<uses-permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"> </uses-permission> Send Respond Via Message
<uses-permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"> </uses-permission> Send Sms No Confirmation
<uses-permission android:name="android.permission.SERIAL_PORT"> </uses-permission> Serial Port
<uses-permission android:name="android.permission.SET_ACTIVITY_WATCHER"> </uses-permission> Set Activity Watcher
<uses-permission android:name="android.permission.SET_ALWAYS_FINISH"> </uses-permission> Set Always Finish
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE"> </uses-permission> Set Animation Scale
<uses-permission android:name="android.permission.SET_DEBUG_APP"> </uses-permission> Set Debug App
<uses-permission android:name="android.permission.SET_INPUT_CALIBRATION"> </uses-permission> Set Input Calibration
<uses-permission android:name="android.permission.SET_KEYBOARD_LAYOUT"> </uses-permission> Set Keyboard Layout
<uses-permission android:name="android.permission.SET_ORIENTATION"> </uses-permission> Set Orientation
<uses-permission android:name="android.permission.SET_POINTER_SPEED"> </uses-permission> Set Pointer Speed
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"> </uses-permission> Set Preferred Applications
<uses-permission android:name="android.permission.SET_PROCESS_LIMIT"> </uses-permission> Set Process Limit
<uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"> </uses-permission> Set Screen Compatibility
<uses-permission android:name="android.permission.SET_TIME"> </uses-permission> Set Time
<uses-permission android:name="android.permission.SET_TIME_ZONE"> </uses-permission> Set Time Zone
<uses-permission android:name="android.permission.SET_WALLPAPER"> </uses-permission> Set Wallpaper
<uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT"> </uses-permission> Set Wallpaper Component
<uses-permission android:name="android.permission.SET_WALLPAPER_HINTS"> </uses-permission> Set Wallpaper Hints
<uses-permission android:name="android.permission.SHUTDOWN"> </uses-permission> Shutdown
<uses-permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"> </uses-permission> Signal Persistent Processes
<uses-permission android:name="android.permission.START_ANY_ACTIVITY"> </uses-permission> Start Any Activity
<uses-permission android:name="android.permission.START_PRINT_SERVICE_CONFIG_ACTIVITY"> </uses-permission> Start Print Service Config Activity
<uses-permission android:name="android.permission.START_TASKS_FROM_RECENTS"> </uses-permission> Start Tasks From Recents
<uses-permission android:name="android.permission.STATUS_BAR"> </uses-permission> Status Bar
<uses-permission android:name="android.permission.STATUS_BAR_SERVICE"> </uses-permission> Status Bar Service
<uses-permission android:name="android.permission.STOP_APP_SWITCHES"> </uses-permission> Stop App Switches
<uses-permission android:name="android.permission.STORAGE_INTERNAL"> </uses-permission> Storage Internal
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"> </uses-permission> Subscribed Feeds Read
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"> </uses-permission> Subscribed Feeds Write
<uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"> </uses-permission> Substitute Notification App Name
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"> </uses-permission> System Alert Window
<uses-permission android:name="android.permission.TABLET_MODE"> </uses-permission> Tablet Mode
<uses-permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"> </uses-permission> Temporary Enable Accessibility
<uses-permission android:name="android.permission.TETHER_PRIVILEGED"> </uses-permission> Tether Privileged
<uses-permission android:name="android.permission.TRANSMIT_IR"> </uses-permission> Transmit Ir
<uses-permission android:name="android.permission.TRUST_LISTENER"> </uses-permission> Trust Listener
<uses-permission android:name="android.permission.TV_INPUT_HARDWARE"> </uses-permission> Tv Input Hardware
<uses-permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"> </uses-permission> Tv Virtual Remote Controller
<uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS"> </uses-permission> Update App Ops Stats
<uses-permission android:name="android.permission.UPDATE_CONFIG"> </uses-permission> Update Config
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"> </uses-permission> Update Device Stats
<uses-permission android:name="android.permission.UPDATE_LOCK"> </uses-permission> Update Lock
<uses-permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"> </uses-permission> Update Lock Task Packages
<uses-permission android:name="android.permission.USER_ACTIVITY"> </uses-permission> User Activity
<uses-permission android:name="android.permission.USE_CREDENTIALS"> </uses-permission> Use Credentials
<uses-permission android:name="android.permission.VIBRATE"> </uses-permission> Vibrate
<uses-permission android:name="android.permission.WAKE_LOCK"> </uses-permission> Wake Lock
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"> </uses-permission> Write Apn Settings
<uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"> </uses-permission> Write Blocked Numbers
<uses-permission android:name="android.permission.WRITE_DREAM_STATE"> </uses-permission> Write Dream State
<uses-permission android:name="android.permission.WRITE_GSERVICES"> </uses-permission> Write Gservices
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"> </uses-permission> Write Media Storage
<uses-permission android:name="android.permission.WRITE_PROFILE"> </uses-permission> Write Profile
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"> </uses-permission> Write Secure Settings
<uses-permission android:name="android.permission.WRITE_SETTINGS"> </uses-permission> Write Settings
<uses-permission android:name="android.permission.WRITE_SMS"> </uses-permission> Write Sms
<uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"> </uses-permission> Write Social Stream
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"> </uses-permission> Write Sync Settings
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"> </uses-permission> Write User Dictionary
please comment if any changes or wrong permission .

10/01/2021

Android Search box on MySQL ListView

in this blog we are going to create search box for listview . for example - list of fruits, list of player , list of country out of this want to find specific item for this we use search filter.


step 1) Create a Database with table on you local or hosting server
 suppose table name abc and db name is hello & php code is like that,

hello.php
<?php
$HostName = "localhost";

//Define your database username here.
$HostUser = "rooot3";

//Define your database password here.
$HostPass = "kettyrtr";

//Define your database name here.
$DatabaseName = "hello";
// Create connection $conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM ListViewDataTable"; $result = $conn->query($sql); if ($result->num_rows >0) { while($row[] = $result->fetch_assoc()) { $tem = $row; $json = json_encode($tem); } } else { echo "No Results Found."; } echo $json; $conn->close(); ?>
 
test this php in localhost browser location , if it works ok move to next step otherwise try again or comment here if still facing issue,

step 2 ) create mainactivity.java file in android studio & write below code,

package com.android.listviewsearchelement_androidcommon    ;
import android.support.v7.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    ListView SubjectListView;
    ProgressBar progressBarSubject;
    String ServerURL = "http://localhost/hello.php";
    EditText editText ;
    List<String> listString = new ArrayList<String>();
    ArrayAdapter<String> arrayAdapter ;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        SubjectListView = (ListView)findViewById(R.id.listview1);

        progressBarSubject = (ProgressBar)findViewById(R.id.progressBar);

        editText = (EditText)findViewById(R.id.edittext1);

        new GetHttpResponse(MainActivity.this).execute();

        editText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                MainActivity.this.arrayAdapter.getFilter().filter(charSequence);

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });

    }

    private class GetHttpResponse extends AsyncTask<Void, Void, Void>
    {
        public Context context;

        String ResultHolder;

        public GetHttpResponse(Context context)
        {
            this.context = context;
        }

        @Override
        protected void onPreExecute()
        {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... arg0)
        {
            HttpServicesClass httpServiceObject = new HttpServicesClass(ServerURL);
            try
            {
                httpServiceObject.ExecutePostRequest();

                if(httpServiceObject.getResponseCode() == 200)
                {
                    ResultHolder = httpServiceObject.getResponse();

                    if(ResultHolder != null)
                    {
                        JSONArray jsonArray = null;

                        try {
                            jsonArray = new JSONArray(ResultHolder);

                            JSONObject jsonObject;

                            for(int i=0; i<jsonArray.length(); i++)
                            {
                                jsonObject = jsonArray.getJSONObject(i);

                                listString.add(jsonObject.getString("subjects").toString()) ;

                            }
                        }
                        catch (JSONException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }
                }
                else
                {
                    Toast.makeText(context, httpServiceObject.getErrorMessage(), Toast.LENGTH_SHORT).show();
                }
            }
            catch (Exception e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void result)

        {
            progressBarSubject.setVisibility(View.GONE);

            SubjectListView.setVisibility(View.VISIBLE);

                arrayAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_2, android.R.id.text1, listString);

                SubjectListView.setAdapter(arrayAdapter);

        }
    }

}

in design folder activity_main.xml file,

<?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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.android.listviewsearchelement_android.MainActivity">

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/edittext1"
        android:hint="Search Here"
        android:gravity="center"/>

    <ProgressBar
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:visibility="visible"
        />

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/listview1"
        android:layout_below="@id/edittext1" />

</RelativeLayout>        
Finally create httpservice file
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.util.ArrayList;

public class HttpServicesClass {
    public int responseCode;

    public String message;

    public String response;

    public ArrayList<NameValuePair> ArrayListParams;

    public ArrayList <NameValuePair> headers;

    public String UrlHolder;

    public String getResponse()
    {
        return response;
    }

    public String getErrorMessage()
    {
        return message;
    }

    public int getResponseCode()
    {
        return responseCode;
    }

    public HttpServicesClass(String url)
    {
        HttpServicesClass.this.UrlHolder = url;

        ArrayListParams = new ArrayList<NameValuePair>();

        headers = new ArrayList<NameValuePair>();
    }

    public void AddParam(String name, String value)
    {
        ArrayListParams.add(new BasicNameValuePair(name, value));
    }

    public void AddHeader(String name, String value)
    {
        headers.add(new BasicNameValuePair(name, value));
    }

    public void ExecuteGetRequest() throws Exception
    {
        String MixParams = "";

        if(!ArrayListParams.isEmpty())
        {
            MixParams += "?";

            for(NameValuePair p : ArrayListParams)
            {
                String paramString = p.getName() + "=" + URLEncoder.encode(p.getValue(),"UTF-8");

                if(MixParams.length() > 1)
                {
                    MixParams  +=  "&" + paramString;
                }
                else
                {
                    MixParams += paramString;
                }
            }
        }

        HttpGet httpGet = new HttpGet(UrlHolder + MixParams);

        for(NameValuePair h : headers)
        {
            httpGet.addHeader(h.getName(), h.getValue());
        }

        executeRequest(httpGet, UrlHolder);
    }

    public void ExecutePostRequest() throws Exception
    {
        HttpPost httpPost = new HttpPost(UrlHolder);
        for(NameValuePair h : headers)
        {
            httpPost.addHeader(h.getName(), h.getValue());
        }

        if(!ArrayListParams.isEmpty())
        {
            httpPost.setEntity(new UrlEncodedFormEntity(ArrayListParams, HTTP.UTF_8));
        }

        executeRequest(httpPost, UrlHolder);
    }

    private void executeRequest(HttpUriRequest request, String url)
    {
        HttpParams httpParameters = new BasicHttpParams();

        HttpConnectionParams.setConnectionTimeout(httpParameters, 10000);

        HttpConnectionParams.setSoTimeout(httpParameters, 10000);

        HttpClient httpClient = new DefaultHttpClient(httpParameters);

        HttpResponse httpResponse;
        try
        {
            httpResponse = httpClient.execute(request);
            responseCode = httpResponse.getStatusLine().getStatusCode();
            message = httpResponse.getStatusLine().getReasonPhrase();

            HttpEntity entity = httpResponse.getEntity();
            if (entity != null)
            {
                InputStream inputStream = entity.getContent();

                response = convertStreamToString(inputStream);

                inputStream.close();
            }
        }
        catch (ClientProtocolException e)
        {
            httpClient.getConnectionManager().shutdown();
            e.printStackTrace();
        }
        catch (IOException e)
        {
            httpClient.getConnectionManager().shutdown();
            e.printStackTrace();
        }
    }

    private String convertStreamToString(InputStream is)
    {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

        StringBuilder stringBuilder = new StringBuilder();

        String line = null;
        try
        {
            while ((line = bufferedReader.readLine()) != null)
            {
                stringBuilder.append(line + "\n");
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                is.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        return stringBuilder.toString();
    }

}
& finally important thing is don't forget to add internet permission
<uses-permission android:name="android.permission.INTERNET" />


Please write your query, suggestion in comment box. don't forget sent your real output of this program in comment. Visit our website Mayur infosys Solutions

An Introduction to the Laravel Framework: What It Is and Why You Should Use It

  If you're a PHP developer looking for a modern, efficient, and powerful framework to build web applications, look no further than Lara...