小编Rac*_*hra的帖子

扩展Android.util.Log以写入文件

我想扩展android.util.Log该类以写入设备内部存储器中的日志文件,最好也是特定的TAGS.

我目前有一个实现:

public class CustomLogger{

private final static Logger fileLog = Logger.getLogger(MainActivity.class);
private Context context;

public CustomLogger(Context c){
    this.context = c;

    final LogConfigurator logConfigurator = new LogConfigurator();
    logConfigurator.setFileName(context.getFilesDir() + File.separator + "myApp.log");
    logConfigurator.setRootLevel(Level.DEBUG);
    logConfigurator.setLevel("org.apache", Level.ERROR);
    logConfigurator.configure();
}

public void i(String TAG, String message){

    // Printing the message to LogCat console
    Log.i(TAG, message);

    // Write the log message to the file
    fileLog.info(TAG+": "+message);
}

public void d(String TAG, String message){
    Log.d(TAG, message);
    fileLog.debug(TAG+": "+message);
  }
 } 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,此自定义记录器会将内容存储(使用 …

logging android android-logcat

8
推荐指数
1
解决办法
1万
查看次数

在Activity中实现多个警报对话框的最佳方法

  • 我有一个Activity3 Fragments,现在每个片段有2 ToggleButtons(总共六个按钮).

  • AlertDialog在每次按钮点击时向用户显示An .

  • 每个按钮执行一些不同的操作,因此警报对话框的布局/视图彼此不同,因此对话框的正按钮单击也不同,而负按钮单击几乎相同.

我已经在Activity中的onButtonPressed方法中实现了逻辑

onButtonPressed(View v){

    switch(v.getId()){
    case R.id.button1:
        // create and show an AlertDialog
    break;
    }
    case R.id.button2:
        // create and show an AlertDialog
    break;
    }
    case R.id.button3:
        // create and show an AlertDialog
    break;
    }
    .
    .
    .
}
Run Code Online (Sandbox Code Playgroud)

这导致了许多重复的代码行,这不是AFAIK最好的东西.我愿意知道我是否应该保持当前的实现,或者创建一个包装类来创建和显示AlertDialogs.

android android-fragments android-alertdialog

5
推荐指数
2
解决办法
1万
查看次数

pre-lollipop版本的selectableItemBackground颜色变化

对于Lollipop,可以简单地使用修改波纹颜色colorControlHighlight.但对于pre-Lollipop(<API21),如何通过将背景设置为更改所实现的按下状态的颜色?attr/selectableItemBackground

android ripple

5
推荐指数
1
解决办法
3437
查看次数

如何检索当前设备位置并将其显示在片段中的地图片段上

我正在使用谷歌地图开发一个Android应用程序.目前我可以在我的应用程序中查看地图,但我不知道如何查看应用程序上的当前位置.

这是我的代码:

public class MapsFragment extends Fragment{
        MapView m;

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, 
                Bundle savedInstanceState) {
            // inflat and return the layout
            View v = inflater.inflate(R.layout.map_near_me, container, false);
            m = (MapView) v.findViewById(R.id.map);
            m.onCreate(savedInstanceState);
            return v;
        }
}
Run Code Online (Sandbox Code Playgroud)

编辑: 和xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.google.android.gms.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,我知道'setmylocationenabled'可以帮助在FragmentActivity中启用,但不幸的是我必须将类型用作'Fragment'.我正在使用谷歌api v2.请有人帮忙解决这个问题.

android google-maps android-layout android-mapview google-maps-android-api-2

4
推荐指数
2
解决办法
3万
查看次数

如何验证片段中的EditText并防止片段更改?

描述:

我有一个片段活动FirstRun,它由5个带滑动导航的片段组成,第2个和第3个片段包含2个需要由用户填充的EditTexts,它们不需要为空或未填充.

好吧,我可以使用OnTextChanged Listener验证字段,但用户可能只需滑动到下一个片段.

题 :

我的问题是,在用户在EditText中输入某些值之前,我是如何阻止滑动到下一个片段的?在验证用户输入之前,如何防止碎片创建?

示例:除非填充第二个片段的EditText,否则阻止滑动到第三个片段.

android

3
推荐指数
1
解决办法
2308
查看次数

可以在java中将对象声明为静态吗?

public static Connection connect;
    public static ResultSet resultSet;
    static final String DATABASE_URL = "jdbc:mysql://localhost/java_dev";

    public ServerFunctions() {
        String Driver = "com.mysql.jdbc.Driver";            
        String DB_USERNAME = "lucky";
        String DB_PASSWORD = "lucky";

        try {
            Class.forName(Driver);
            connect = DriverManager.getConnection(DATABASE_URL,DB_USERNAME, DB_PASSWORD);
        } catch(Exception e) {
            System.out.println("Database Not Connected ! ");
        }
    }

    public static Boolean verificator(String username, String password) {
        try {
            PreparedStatement prepare = connect.prepareStatement(
                "Select * from users where username='?'&&password='?'");
Run Code Online (Sandbox Code Playgroud)

上面是我的代码片段.我声明ConnectionResultset对象静态,因此可以从静态验证器方法调用它们.同样,verificator方法被声明为static,因此可以通过使用className.verificator(param,param)从不同的类作为类变量调用它.

它在我单独测试类时编译并运行,但是每当从不同的类调用时,我就会在PerparedStatement行中得到NullPointerException错误.

有人可以帮助我为什么会发生这种情况?

谢谢

java jdbc java-ee

1
推荐指数
1
解决办法
7263
查看次数

如何从我的手机获取.apk来恢复我的源文件

我在Eclipse中将一个.java文件从一个项目导入到另一个项目.在这样做的过程中,Eclipse从源项目中删除了所有的.java文件和我的.apk文件.我知道我可以从.apk文件重建它们,但目前唯一的一个是在我的LG手机上.

如何将手机上的.apk从手机上取下来?我是否必须将手机设为root才能看到Data文件夹?我有Android文件管理器,但我没有看到如何上传到电脑.谢谢,加里

android root apk

1
推荐指数
1
解决办法
1627
查看次数

删除并重新排列arraylist

我有一个ArrayList,我打算java.util.ArrayList.remove()在android中使用该方法,但我的问题是,如果你有一个ArrayList具有以下索引的值,然后在索引删除,其他人会被提升索引吗?这里有一个更简单的方法来理解我想问的问题:

Starting Arraylist:
------------------------
|   Index   |   Value  |   
------------------------
|    0      |    "a"   |
|    1      |    "b"   |
|    2      |    "c"   |
|    3      |    "d"   |
|    4      |    "e"   |
------------------------

然后我在索引3处删除新数组将是数组A或数组B.

Arraylist A:                Arraylist B:
------------------------    ------------------------
|   Index   |   Value  |    |   Index   |   Value  |   
------------------------    ------------------------
|    0      |    "a"   |    |    0      |    "a"   |
|    1      |    "b"   |    |    1      |    "b" …

java android arraylist

1
推荐指数
1
解决办法
4038
查看次数

为什么我得到"此方法不支持HTTP方法GET"错误?

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class LoginServlet extends HttpServlet
{
private void sendLoginPage (HttpServletResponse res, HttpServletRequest req, boolean error)
throws ServletException,IOException
{
    res.setContentType("text/html");
    PrintWriter o = res.getWriter();        
    o.println("<html><head><title>Sample Login Page</title></head><body>Welcome to Login Page : ");
    if (error)
    o.println("<fieldset><legend>Login Form : </legend>");
    o.println("Login Failed, Please Try Again");
    o.println("<form method="+"post"+">");
    o.println("<br/><input type="+"text"+"value="+"username"+"/>");
    o.println("<br/><input type="+"password"+"value="+""+"/>");
    o.println("<br/><input type="+"button"+"value="+"Submit"+"/>");
    o.println("</form></fieldset></body></html>");
}

public void doGet (HttpServletResponse res, HttpServletRequest req)
throws ServletException,IOException
{
    sendLoginPage ( res, null, false ) ;
}

public void …
Run Code Online (Sandbox Code Playgroud)

java servlets

0
推荐指数
1
解决办法
2237
查看次数