小编dca*_*121的帖子

解决使用SAX解析器解析xml的安全问题

我有一个Android应用程序,用户可以在其中输入任何xml源URL进行解析.然后我的应用程序解析xml(如果有效)并显示结果.

问题是,如果用户输入不受信任的xml源URL,则可能会影响应用和/或设备.

什么是识别风险,防止利用最佳途径.

通过我的研究,我发现启用FEATURE_SECURE_PROCESSING并禁用扩展可能会有所帮助.但任何人都可以告诉我它是什么,我如何实现它.

谢谢.

java xml security android saxparser

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

创建自定义视图而无需额外的视图层次

我通常会创建一个自定义视图,例如

public class MyView extends LinearLayout{

  public MyView(Context context){
     super(context);

     //Inflating my custom layout
     LayoutInflater inflater = getLayoutInflater();
     inflater.inflate(R.layout.view_layout, this); 

  }

}
Run Code Online (Sandbox Code Playgroud)

上面布局的问题是,它将在其中创建一个新的LinearLayout并膨胀R.layout.view_layout,添加一个新的视图层次结构,这是不受欢迎的。

R.layout.view_layout包含RelativeLayout许多子元素,我无法通过扩展对其进行编程添加RelativeLayout(因为定位很困难)。

不必要的层次结构会使我的应用程序变慢。

custom views/view group没有额外的层次结构级别的最佳创建方法是什么。

根据CommonsWare的解决方案:

XML布局:

<merge>

<TextView ...
.../>

More items

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

由于XML布局具有RelativeLayout父视图,因此我将RelativeLayout在代码中扩展而不是LinearLayout

public class MyView extends RelativeLayout{

      public MyView(Context context){
         super(context);

         //Inflating my custom layout
         LayoutInflater inflater = getLayoutInflater();
         inflater.inflate(R.layout.view_layout, this); 

      }

    }
Run Code Online (Sandbox Code Playgroud)

android

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

是三星galaxy nexus hdpi或xhdpi

我将图像放在drawable-xhdpi文件夹中,而galaxy nexus不会把它拿起来.

是galaxy nexus HDPI还是XHDPI?

android drawable hdpi

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

我们如何在java中使用Interfaces实现抽象?

我已经了解到java中的接口和抽象类可以帮助我们实现抽象.但是,我并不完全理解这个理论,抽象意味着隐藏内部机制并仅显示相关细节,但是接口和抽象类究竟如何帮助我们.

有人可以用现实生活中的例子来解释我.

java

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

什么是“执行流式安装”

我正在通过adb命令运行构建,

adb install myapp.apk
Run Code Online (Sandbox Code Playgroud)

在控制台中,我收到消息,执行流式安装

这是什么意思。

在此处输入图片说明

android adb

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

将子视图添加到两个布局(多个父级)

我想将相同的视图添加到之前添加到另一个的新RelativeLayout.

 RelativeLayout1
   -- View1
   -- ScrollView
      -- Linear Layout2
Run Code Online (Sandbox Code Playgroud)

我有一个视图添加到线性layout2,它被添加到scrollview.我想将相同的子视图添加到View1的RelativeLayout1.

我这样添加视图,

MyCustomScrollView scrollView = new MyCustomScrollView(context);
  layout2 = new LinearLayout(context);

  for(int i=0;i<10;i++)
     layout2.addView(list.get(i));

  scrollView,add(layout2);
  relativeLayout1.addView(scrollView);
Run Code Online (Sandbox Code Playgroud)

现在我想在View1的位置将相同的视图从列表添加到RelativeLayout1

 RelativeLayout1.remove(view1);
 RelativeLayout1.addView(list.get(0),0);



Causes 

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    at android.view.ViewGroup.addViewInner(ViewGroup.java:2062)
    at android.view.ViewGroup.addView(ViewGroup.java:1957)
    at android.view.ViewGroup.addView(ViewGroup.java:1914)
Run Code Online (Sandbox Code Playgroud)

android view

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

标签 统计

android ×5

java ×2

adb ×1

drawable ×1

hdpi ×1

saxparser ×1

security ×1

view ×1

xml ×1