Android程序员必装apk

1.Xposed框架(按:或可完成锁屏墙纸功能):

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。
当前,PerAPPSetting(为每个应用设置单独的dpi或修改权限)、Cydia、XPrivacy(防止隐私泄露)、对原生Launcher替换图标等应用或功能均基于此框架。
注意:
0.miui勿装,会无限重启
1.安装完毕后需在应用内执行安装,并完成一次系统重启
2.安装各模块后需要在此应用内启用,并重启系统
3.如果安装完出错,请刷入XDA帖子附件内的Xposed-Disabler-CWM.zip,临时屏蔽
更多信息见XposedXDA原帖:http://forum.xda-developers.com/showthread.php?t=1574401
源码、原理见GitHub:https://github.com/rovo89/XposedBridge/wiki/Development-tutorial
和Tasker类似,绝对高玩的神器!

2.XPrivacy:

XPrivacy大致弄清楚XPrivacy的功能后,我们可以按手机选项键,看看更多的设置内容。这里我们可以设置下新装应用的默认权限模板,设置好后安装新的应用就可直接按模板设置权限了,不用一个个的操作了。所有内容设置完成后还可以导出全局配置,下次重新刷机后或更换手机后就可直接导入了。 是一款基于Xposed框架的模块应用,可以对所有应用可能泄露隐私的权限进行管理,对禁止可能会导致崩溃的应用采取欺骗策略,提供伪造信息。启用后就可以进行应用权限的控制了,直接勾选是限制应用的所有权限,建议点击应用图标进入详细权限内容中进行设置。还可利用过滤标签进行各种应用的选择。刚开始使用可能会有些找不着头绪,建议先对一些常用的应用进行权限设置熟悉后再扩大范围。这里还可以对被限制权限应用的模拟信息进行设置,设置内容非常详细,包括IP、MAC、运营商等等内容。还可查看应用获取权限的记录。功能非常强大,建议大家花点时间仔细研究下。 XPrivacy可以说是目前Android权限管理方面最强大的应用,不过在设置应用权限方面需要一个个的进行设置,比较麻烦,不像LBE可以智能设置应用的权限,但LBE又不如XPrivacy强大。建议两者结合使用吧。

3.Dalvik字节码编辑器:直接改写APP的smali,保存后即可实现植入的功能,但对微信、淘宝等高富帅APP用不了。

4.DroidWall:

是Android平台上一款强大的防火墙前端软件,与iptables配套使用,让你从此开着gprs不烧钱,如果你没有不限流量包月,那么它必然会被明智的你安装到手机里,这个不到40kb软件的伟大之处在于让你来决定哪些软件可以联接上网,在你允许的软件前面打上勾,而且支持按3g/wifi区分网络。软件需要Root权限(就是手机需要破解)。支持黑名单与白名单两种模式,可设定允许(白名单)访问的程序或禁止(单名单)访问的程序。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的程序员计算器的代码示例,仅供参考: MainActivity.java 文件: ``` import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { EditText inputEditText; TextView resultTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inputEditText = findViewById(R.id.inputEditText); resultTextView = findViewById(R.id.resultTextView); Button decimalButton = findViewById(R.id.decimalButton); decimalButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { calculate(10); } }); Button binaryButton = findViewById(R.id.binaryButton); binaryButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { calculate(2); } }); Button octalButton = findViewById(R.id.octalButton); octalButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { calculate(8); } }); Button hexadecimalButton = findViewById(R.id.hexadecimalButton); hexadecimalButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { calculate(16); } }); } private void calculate(int radix) { String input = inputEditText.getText().toString(); try { long num = Long.parseLong(input, radix); String result = Long.toString(num, radix); resultTextView.setText(result); } catch (NumberFormatException e) { resultTextView.setText("Invalid input"); } } } ``` activity_main.xml 文件: ``` <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" android:padding="16dp" tools:context=".MainActivity"> <EditText android:id="@+id/inputEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Input number here" android:inputType="number" /> <Button android:id="@+id/decimalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/inputEditText" android:layout_marginTop="16dp" android:text="Decimal" /> <Button android:id="@+id/binaryButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/inputEditText" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_toEndOf="@+id/decimalButton" android:text="Binary" /> <Button android:id="@+id/octalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/inputEditText" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_toEndOf="@+id/binaryButton" android:text="Octal" /> <Button android:id="@+id/hexadecimalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/inputEditText" android:layout_marginStart="16dp" android:layout_marginTop="16dp" android:layout_toEndOf="@+id/octalButton" android:text="Hexadecimal" /> <TextView android:id="@+id/resultTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/decimalButton" android:layout_marginTop="16dp" android:text="" /> </RelativeLayout> ``` 这个示例代码实现了一个简单的程序员计算器,可以将用户输入的数字转换为十进制、二进制、八进制或十六进制,并显示计算结果。需要注意的是,这只是一个简单的示例代码,实际开发中可能需要进行更多的功能扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值