Skip to main content

Android - get Logs programmatically



Your main Activity :

package com.get_Logs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class Get_LogsActivity extends Activity {
    private TextView textv;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        textv = (TextView)findViewById(R.id.textView1);

        getallLogs();
    }

    private void getallLogs() {
        // TODO Auto-generated method stub
        try {
            Process process = Runtime.getRuntime().exec("logcat -d");
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(process.getInputStream()));

            StringBuilder log = new StringBuilder();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                log.append(line+"\n");
            }

            File myFile = new File("/sdcard/mysdfile.doc");
            if (!myFile.exists()) {
                myFile.createNewFile();
            }

            Log.e("log---->", ""+log.toString());

            textv.setText(log.toString());

            FileOutputStream fOut = new FileOutputStream(myFile);
            OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
            myOutWriter.append(log.toString());
            myOutWriter.close();
            fOut.close();



        } catch (IOException e) {
            Log.d("D: error generate log -->", "" + e.getMessage().toString());
        }
    }
}

your main layout file:


 <?xml version="1.0" encoding="utf-8"?>  
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
      android:orientation="vertical" android:layout_width="fill_parent"  
      android:layout_height="fill_parent">  
      <ScrollView android:id="@+id/scrollView1"  
           android:layout_height="match_parent" android:layout_width="match_parent">  
           <LinearLayout android:id="@+id/linearLayout1"  
                android:layout_width="match_parent" android:layout_height="match_parent">  
                <TextView android:id="@+id/textView1" android:layout_height="match_parent"  
                     android:textAppearance="?android:attr/textAppearanceMedium"  
                     android:text="TextView" android:layout_width="match_parent"></TextView>  
           </LinearLayout>  
      </ScrollView>  
 </LinearLayout>  




your manifest file:


 <?xml version="1.0" encoding="utf-8"?>  
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.get_Logs"  
    android:versionCode="1"  
    android:versionName="1.0">  
   <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="13"/>  
   <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>  
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>  
   <application android:icon="@drawable/icon" android:label="@string/app_name">  
     <activity android:name=".Get_LogsActivity"  
          android:label="@string/app_name">  
       <intent-filter>  
         <action android:name="android.intent.action.MAIN" />  
         <category android:name="android.intent.category.LAUNCHER" />  
       </intent-filter>  
     </activity>  
   </application>  
 </manifest>  

Comments

  1. Brother...

    Thank you for your posts .
    Please post also lecture about saving and retrieving images from mysql server from android using php .

    ReplyDelete

Post a Comment

Popular posts from this blog

MCP vs CLI: Which One Fits Your AI Agent's Job?

  Every AI agent that touches the outside world does it one of two ways: it runs a shell command, or it calls a tool through the Model Context Protocol. Both get the job done, but they don't cost the same or fail the same way, which is why "MCP vs CLI" keeps resurfacing without resolving. I want to answer it for the cases that matter most: plain developer tooling, data-heavy systems like banking, forecasting pipelines, and transaction automation like billing or booking. Neither wins outright. Where you draw the line is the actual skill. Key Takeaways CLI is the default for anything the model already knows cold, git, file ops, text processing, since there's no schema tax and commands chain through pipes. MCP earns its cost when a system needs per-user auth, audit trails, or access to sources the model can't otherwise reach, exactly what regulated systems like banking require. Transaction automation works best split: deterministic code drives the repeatable steps, a...

How to create Android Facebook Key Hash

Download openSSl  Extract it in C:/ drive now Open CMD goes to  C:\Program Files\Java\jdk1.7.0\bin using cd C:\Program Files\Java\jdk1.7.0\bin $ keytool - exportcert - alias androiddebugkey - keystore "C:\user\dj-android\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 - binary | "C:\OpenSSL\bin\openssl" base64 You will be prompted for a password. This should be 'android' without quotes. You'll then be given a key hash of 30 characters or so. (If you are  not  prompted for a password, something is wrong and you must check your paths above to ensure the  debug.keystore  is present.)

Sqlite Database With Cursor Adapter in Android

First Create Database Helper : now in your first layout : res/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     >     <ListView     android:layout_height="fill_parent"     android:id="@+id/@android:list"     android:layout_width="fill_parent"></ListView> </LinearLayout> second layout for insert Values: res/inslayout.xml <?xml version="1.0" encoding="UTF-8"?>     <RelativeLayout android:id="@+id/relativeLayout1"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     xmlns:android="http://schemas.android.com/a...