目前我正在寻找在Spring MVC和Spring Security表单中包含CRSF令牌的可能性.什么是最简单的解决方案,涵盖(Spring Security + Spring MVC)servlet并允许呈现和评估CSRF令牌?
我很惊讶这种基本机制在Springs堆栈中不可用.(我认为每个Web应用程序框架都是基本的)
PS:我看过HDIV但是找不到与Spring Security一起使用它的解决方案.(例如,登录表单由Spring MVC呈现,登录请求由Spring Security处理)
检查Android上是否有移动网络(GSM)连接的正确方法是什么?(> 2.1)我不想检查移动网络上是否有可用的数据连接,只检查网络可用性.(检查是否可以通过移动网络拨打电话)
目前我正在使用以下检查:
public static boolean checkMobileNetworkAvailable(Context context){
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
int networkType = tm.getNetworkType();
return (networkType != TelephonyManager.NETWORK_TYPE_UNKNOWN);
}
Run Code Online (Sandbox Code Playgroud)
但似乎有些设备总是报告"NETWORK_TYPE_UNKNOWN".所以检查一直都失败了.
这样做有更好的方法吗?
更新:
以下方法会更好吗?
public static boolean checkMobileNetworkAvailable(Context context){
boolean isMobileNetworkAvailable = false;
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] networks = cm.getAllNetworkInfo();
for(int i=0;i<networks.length;i++){
if(networks[i].getType() == ConnectivityManager.TYPE_MOBILE){
if(networks[i].isAvailable()){
isMobileNetworkAvailable = true;
}
}
}
return isMobileNetworkAvailable;
}
Run Code Online (Sandbox Code Playgroud) 目前,我需要过滤Cursor/CursorAdapter,以仅显示与ListView中的特定条件匹配的行.我不想一直重新查询数据库.我只想过滤查询数据库时得到的光标.
我已经看到了这样一个问题:从Cursor中过滤行,这样它们就不会出现在ListView中
但我不明白如何通过覆盖我的CursorWrapper中的"移动"方法来进行过滤.一个例子很好.
非常感谢你.
在尝试使用Maven构建Android项目时,我认识到maven-android-plugin在构建期间不会自动生成BuildConfig类.我找到了关于该问题的机票和Google Groups线程.
问题:http://code.google.com/p/maven-android-plugin/issues/detail?id = 275
Google网上论坛:http://groups.google.com/group/maven-android-developers/browse_thread/thread/cc74267bbb7baebb/4e63b710513bb535?lnk=gst&q=BuildConfig#4e63b710513bb535
问题线程中的快速黑客建议创建另一个微型maven项目,以便在构建时使用配置文件切换设置BuildConfig.DEBUG变量.这将迫使我为每一个小应用程序构建一个多模块项目.
Google Groups线程中的建议对我来说听起来不错(从SDK执行Ant任务以生成BuildConfig类)但是在挖掘build.xml并尝试完成这项工作之后我放弃了.
有没有人通过maven + android获得BuildConfig问题的实用工作解决方案?
目前我正在开发一个应用程序,它NEW_OUTGOING_CALL
可以在a的帮助下捕获动作BroadcastReceiver
.我正在通过电话中止呼叫setResultData(null)
.之后,我向用户显示一个对话框,允许他决定是否要使用我的应用程序重写其编号.当用户决定发生时,我将根据决定发出新呼叫.现在我的广播接收器再次被召唤.
了解我已经处理过该号码的正确方法是什么?我得到了一个工作解决方案,它使用时间戳来猜测它是否已经被处理过.另一种解决方案是"+"
在处理后的数字的末尾添加a .这些方法适用于我的应用程序是唯一一个捕获NEW_OUTGOING_CALL
事件.但是,当其他应用程序(如Sipdroid或Google Voice)也坐在那里捕获NEW_OUTGOING_CALL
广播中止并重新启动它时,我该怎么办?我没有看到是否有可能知道我们是否仍在同一个"呼叫流程"并且我已经处理了这个号码.
我很想听听你对这个问题的看法!
目前我正在尝试使用Spring MVC 3.1实现Post/Redirect/Get模式.保留和恢复模型数据+验证错误的正确方法是什么?我知道我可以在我的POST方法中使用RedirectAttributes保存模型和BindingResult.但是从闪存范围中在GET方法中恢复它们的正确方法是什么?
我已经完成了以下POST操作:
@RequestMapping(value = "/user/create", method = RequestMethod.POST)
public String doCreate(@ModelAttribute("user") @Valid User user, BindingResult result, RedirectAttributes rA){
if(result.hasErrors()){
rA.addFlashAttribute("result", result);
rA.addFlashAttribute("user", user);
return "redirect:/user";
}
return "redirect:/user/success";
}
Run Code Online (Sandbox Code Playgroud)
以下是获取用户创建表单:
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView showUserForm(@ModelAttribute("user") User user, ModelAndView model){
model.addObject("user", user);
model.setViewName("userForm");
return model;
}
Run Code Online (Sandbox Code Playgroud)
这允许我在出错时保留给定的用户数据.但是恢复错误的正确方法是什么?(BindingResult)我想用spring form标签在表单中显示它们:
<form:errors path="*" />
Run Code Online (Sandbox Code Playgroud)
另外,如何从get方法访问flash作用域会很有趣?
使用可以使用ViewPager刷卡的ActionBar选项卡(作为片段)时,我发现每个片段的自定义菜单选项最近都添加到ActionBar中.
这是我认识到的行为:
"10ms差距"看起来很丑陋,解决这个问题会很棒.
我查看了本机Android应用程序,我能够在本机ICS/JB拨号器中重现该问题.(从联系人选项卡滑动到通话记录)当我查看"播放电影"应用程序时,"10ms间隙"丢失(从电影到个人电影的刷卡),因此应该可以以某种方式解决问题.
有趣的是,单击选项卡时缺少间隙.单击会使选项项立即显示.
如果有人可以帮我解决问题,那就太好了.
当一个特定的env变量没有被前一个"RewriteRule"设置时,我只想跳过用"RewriteRule"完成的重定向.
这是我的例子,它不起作用.
RewriteEngine on
RewriteBase /
#
# if /internal ... set ENV var INTERNALAREA = true
#
RewriteRule ^internal(.*)$ - [E=INTERNALAREA:true]
#
# Redirect to /maintenance.php if not in internal area and not already at /maintenance.php
#
RewriteCond %{ENV:INTERNALAREA} !true
RewriteCond %{REQUEST_URI} !^/maintenance.php$
RewriteRule ^(.*)$ /maintenance.php [R=302,L]
#
# Default TYPO3 rewrites
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
RewriteRule ^fileadmin/(.*/)?_recycler_/ - [F]
RewriteRule ^fileadmin/templates/.*(\.txt|\.ts)$ - [F]
RewriteRule ^typo3conf/ext/[^/]+/Resources/Private/ - [F]
RewriteRule ^(typo3/|t3lib/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) …
Run Code Online (Sandbox Code Playgroud) 目前,我正在寻找一种从SDK级别7添加联系人的简单且受支持的方式.(当某些类型的数据可用时)我查看了默认联系人应用程序并找到了"Intent.ACTION_INSERT_OR_EDIT"用于从拨号器屏幕向mime类型"vnd.android.cursor.item/person"添加新联系人(或从联系人提供者向联系人添加号码).现在,我们很高兴知道如何找到一些关于在使用该操作时应该添加的额外内容的文档,以及它是否是尝试尽可能多地支持手机的正确方法.
我期待着阅读你的想法.非常感谢你.
问候.