Articles of java的

PKCS1-padding / RSA加密ios objc和java之间的区别

我正在为ios和Android开发应用程序。 我对加密任务比较陌生,在过去的3天里,我不停地撞墙,因为我无法运行RSA加密。 两个客户端都从Java服务器接收公钥。 在android我有(显然,因为它几乎与服务器端的代码相同)没有麻烦,但ios部分似乎根本不兼容。 我想用公钥加密一小段数据(aes密钥),这就是我在Java中的做法: try { String publickey = “MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRAK+dBpbOKw+1VKMWoFxjU6UCAwEAAQ==”; byte[] bArr = Crypto.base64Decode(publicKey, false); KeyFactory keyFactory = KeyFactory.getInstance(“RSA”, “BC”); EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKey); PublicKey publicKey = keyFactory.generatePublic(publicKeySpec); Cipher cipher = Cipher.getInstance(“RSA/NONE/PKCS1Padding”, “BC”); cipher.init(1,publicKey); int cipherBlockSize = cipher.getBlockSize(); ByteArrayOutputStream bArrOut = new ByteArrayOutputStream(); bArrOut.flush(); int pos = 0; Log.i(“ContentBufferLength”, contentBuffer.length+””); while (true) { […]

不兼容的types:HomeFragment无法在Android中转换为Fragment

我在这段代码中遇到错误: private void displayView(int position) { // update the main content by replacing fragments Fragment fragment = null; switch (position) { case 0: fragment = new HomeFragment(); break; case 1: fragment =new FindPeopleFragment(); break; case 2: fragment = new PhotosFragment(); break; case 3: fragment = new CommunityFragment(); break; case 4: fragment = new PagesFragment(); break; […]

从父级获取子类名

我有一个基类用于我的所有活动( ActivityBase ),它本身派生自android.app.Activity 。 在onCreate中,我想基于当前正在执行的子类执行一些条件逻辑。 如果SomeCustomActivity和AnotherCustomActivity都扩展了ActivityBase ,我如何在父类( ActivityBase )中确定哪两个是当前正在执行的?

链式两个改装可观察物与RxJava

我想一个接一个地执行2个网络呼叫。 两个网络调用都返回Observable。 第二次呼叫使用来自第一次呼叫的成功结果的数据,第二次呼叫的成功结果中的方法使用来自第一次和第二次呼叫的成功结果的数据。 此外,我应该能够以不同的方式处理onError“事件”。 我怎样才能避免回调地狱,如下例所示: API().auth(email, password) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1() { @Override public void call(final AuthResponse authResponse) { API().getUser(authResponse.getAccessToken()) .subscribe(new Action1<List>() { @Override public void call(List users) { doSomething(authResponse, users); } }, new Action1() { @Override public void call(Throwable throwable) { onErrorGetUser(); } }); } }, new Action1() { @Override public void call(Throwable throwable) […]

GoogleMaps v2 Android的我的位置按钮未显示

我正在使用谷歌地图做一个应用程序,但当我尝试添加“我的位置”按钮,因为参考说不起作用… 多数民众赞成我怎么做: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); locManager = (LocationManager)getSystemService(LOCATION_SERVICE); providersList = locManager.getAllProviders(); provider =locManager.getProvider(providersList.get(0)); precision = provider.getAccuracy(); req = new Criteria(); req.setAccuracy(Criteria.ACCURACY_FINE); inside = false; map.getUiSettings().setMyLocationButtonEnabled(true); buildPolygon(); drawPolygon(); startLocalization(); } 我使用了map.getUiSettings().setMyLocationButtonEnabled(true); 如谷歌的参考中所示。 我不知道发生了什么……

SensorEventListener未使用unregisterListener()方法取消注册

我有一个非常简单的Android应用程序:在活动中我有一个按钮,我启动/停止OrientationListener。 但是,在取消注册后,在ddms中我仍然可以看到线程android.hardware.SensorManager $ SensorThread](正在运行) 。 注册码: sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); List sensors = sensorManager.getSensorList(Sensor.TYPE_ORIENTATION); if (sensors.size() > 0) { sensor = sensors.get(0); running = sensorManager.registerListener(sensorEventListener, sensor, SensorManager.SENSOR_DELAY_FASTEST); } 和取消注册: try { if (sensorManager != null && sensorEventListener != null) { sensorManager.unregisterListener(sensorEventListener,sensor); running = false; } } catch (Exception e) { Log.w(TAG, e.getMessage()); } unregisterListener()方法确实被执行,但它不会经常杀死传感器线程,这会继续运行和耗尽电池。 几个小时后,我的应用程序列出了20-30%的电池消耗。 […]

使用GridView / listView设计lib – CoordinatorLayout / CollapsingToolbarLayout

这可能是一个愚蠢的问题,但我不太了解Design lib。 我遵循此参考创建下面的布局。 当我滚动GridView时,蓝色区域应该作为视差。 但是当我滚动网格时,AppBarLayout中没有任何反应。 但这适用于NestedScrollView和RecyclerView 以下是我的布局文件 – 任何帮助,将不胜感激。

如何自动将if-else if语句转换为switch

是否有一个热键或简单的方法用IntelliJ中的开关替换if-else if语句? 我宁愿不手动将if-else if语句转换为开关。 我希望能够突出显示if-else if语句并按下组合键或使用菜单按钮。

ViewHolder模式在自定义CursorAdapter中正确实现?

这是我的自定义CursorAdapter: public class TasksAdapter extends CursorAdapter implements Filterable { private final Context context; public TasksAdapter(Context context, Cursor c) { super(context, c); this.context = context; } /** * @see android.widget.CursorAdapter#newView(android.content.Context, android.database.Cursor, android.view.ViewGroup) */ @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(android.R.layout.simple_list_item_checked, parent, false); ViewHolder holder = […]

在Gingerbread中水平滑动后不触发Actionbar的onNavigationItemSelected(int position,long itemId)

我已经使用导航模式实现了Tab视图和水平滑动视图(以更改选项卡)作为应用程序的列表。 我正在使用ActionBarSherlock和TabPageIndicator。 更改选项卡后,我使用片段重新加载内容。 在下拉式微调器中,我有2个项目。 每当活动重新加载或在Tabs上点击后,都会选择这些选项。 但是,如果执行滑动以选择其他选项卡,那么onNavigationItemSelected(int position,long itemId)将不会在Gingerbread版本中触发:(我们在Gingerbread 2.3.6,2.3.3上测试了它。 在logcat ,我收到此warning消息”View:onTouchEvent:ViewFlags” is DISABLED 但是,它在ICS,Froyo等上运行得非常好。 非常感谢您的帮助。 以下是代码段: public class MainPageActivity extends SherlockFragmentActivity implements ActionBar.OnNavigationListener { MenuItem menuItem; EditText searchText; public static Context mContext; public static DataAdapter dataAdapter; ArrayList accountList; public static List currentViewBeingChanged = new ArrayList(); public static LayoutInflater layoutInflater; public static String checktab = “running”, […]