关于WindowsPhone7–是否有标准在WP7应用程序中存储用户名和密码?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android实战教程第七篇之如何在内存中存储用户名和密码、A
关于Windows Phone 7 – 是否有标准在WP7应用程序中存储用户名和密码?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android实战教程第七篇之如何在内存中存储用户名和密码、Android:存储用户名和密码?、c# – 如何在Windows Phone 7应用程序中以脱机模式从Web查看图像、iOS:如何在应用程序中存储用户名/密码?等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- Windows Phone 7 – 是否有标准在WP7应用程序中存储用户名和密码?
- Android实战教程第七篇之如何在内存中存储用户名和密码
- Android:存储用户名和密码?
- c# – 如何在Windows Phone 7应用程序中以脱机模式从Web查看图像
- iOS:如何在应用程序中存储用户名/密码?
Windows Phone 7 – 是否有标准在WP7应用程序中存储用户名和密码?
我正在处理一个项目,可以在每个被调用的请求上验证用户。所以,我想存储用户名和密码。也许甚至给他们“记住我”的可能性,所以如果没有这样做的标准,我将不得不自己写,但我猜测微软有一个内置的。
我在 Kevin D. Wolf’s efficientcoder.net发现了这个例子:
public static String Password { get { if (IsolatedStorageSettings.ApplicationSettings.Contains(STR_PASSWORÐ)) { var bytes = IsolatedstorageSettings.Applicationsettings[STR_PASSwORÐ] as byte[]; var unEncrypteBytes = ProtectedData.Unprotect(bytes,null); return Encoding.UTF8.GetString(unEncrypteBytes,unEncrypteBytes.Length); } else { return string.Empty; } } set { var encryptedBytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(value),null); IsolatedStorageSettings.ApplicationSettings[STR_PASSWORÐ] = encryptedBytes; } }
(道歉为剪切和粘贴我不得不使用图像扫描中的文本)
Android实战教程第七篇之如何在内存中存储用户名和密码
本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下
首先是配置文件:
<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:orientation="vertical" > <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入用户名" /> <EditText android:id="@+id/et_pass" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请输入密码" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <CheckBox android:id="@+id/cb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="记住用户名和密码" android:layout_centerVertical="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="登录" android:layout_alignParentRight="true" android:onClick="login" /> </RelativeLayout> </LinearLayout>
活动中的代码如下:
package com.itydl.rwinrom; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.InputStreamReader; import org.apache.http.entity.InputStreamEntity; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_name; private EditText et_pass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name = (EditText) findViewById(R.id.et_name); et_pass = (EditText) findViewById(R.id.et_pass); readAccount();//在onCreate中读取原因是,活动一创建就读取用户名和密码进行回显。 } public void readAccount(){ File file = new File("data/data/com.itydl.rwinrom/info.txt"); if(file.exists()){ try { // FileInputStream fis = new FileInputStream(file); // //把字节流转换成字符流 // BufferedReader br = new BufferedReader(new // InputStreamReader(fis)); BufferedReader br = new BufferedReader(new FileReader(file)); //读取txt文件里的用户名和密码 String text = br.readLine(); String[] s = text.split("##");//正则表达 et_name.setText(s[0]);//ctrl+1提取全局变量 et_pass.setText(s[1]); } catch (Exception e) { // Todo Auto-generated catch block e.printstacktrace(); } } } public void login(View v){ String name = et_name.getText().toString(); String pass = et_pass.getText().toString(); CheckBox cb = (CheckBox) findViewById(R.id.cb); //判断选框是否被勾选 if(cb.isChecked()){ //data/data/com.itheima.rwinrom:这就是内部存储空间的路径 File file = new File("data/data/com.itydl.rwinrom/info.txt");//这个路径是安卓特有的文件夹 FileOutputStream fos; try { fos = new FileOutputStream(file); //勾选了复选框,会把用户名密码存入内部存储位置 fos.write((name + "##" + pass).getBytes()); fos.close(); } catch (Exception e) { // Todo Auto-generated catch block e.printstacktrace(); } } //创建并显示吐司对话框 Toast.makeText(this,"登录成功",0).show(); } }
最后是截图:
当退出程序,再进入时,会发现用户名和密码都回显。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
Android:存储用户名和密码?
如果我想存储要在 Android
应用程序中使用的用户名和密码,最好的方法是什么?是通过首选项屏幕(但如果用户错过了这个怎么办?),还是弹出一个对话框并要求用户提供凭据?如果是这样,我必须维护应用程序的状态。我该怎么做?
答案1
小编典典我见过的大多数 Android 和 iPhone
应用程序都使用初始屏幕或对话框来询问凭据。我认为用户必须经常重新输入他们的姓名/密码很麻烦,因此从可用性的角度来看,存储这些信息是有意义的。
(Android
开发指南)的建议是:
一般来说,我们建议尽量减少询问用户凭据的频率——以使网络钓鱼攻击更加明显,并且不太可能成功。而是使用授权令牌并刷新它。
在可能的情况下,用户名和密码不应存储在设备上。相反,使用用户提供的用户名和密码执行初始身份验证,然后使用短期的、特定于服务的授权令牌。
使用AccountManger是存储凭据的最佳选择。SampleSyncAdapter提供了如何使用它的示例。
如果由于某种原因这不是您的选择,您可以使用Preferences机制回退到持久化凭据。其他应用程序将无法访问您的首选项,因此用户的信息不会轻易暴露。
c# – 如何在Windows Phone 7应用程序中以脱机模式从Web查看图像
<Button Click="Image_Click" Name="image1" Margin="-33,-16,-26,-13"> <Button.Background> <ImageBrush Stretch="Fill" ImageSource="http://political-leader.vzons.com/ArvindKejriwal/images/icons/landing.png"/> </Button.Background> </Button>
这是一个可点击的图像,单击该图像导航到另一个页面.
现在,当图像来自网络时,我希望下次即使在离线模式下也可以查看此图像.任何人都可以帮我如何做到这一点
解决方法
当我自己面对问题时,我用硬/手动的方式做了 – 自己下载图像,将它们缓存在文件系统上并从那里引用它们.建议的答案似乎提供了一种更简单的方法.
编辑:这个问题与Windows Phone 8有关,但看起来它适用于Windows Phone 7.5(也称为Mango).不知道7,但你应该以7.5为目标(没有无法升级到7.5的手机)
iOS:如何在应用程序中存储用户名/密码?
我的 iOS 应用程序中有一个登录屏幕。用户名和密码将保存在
中,NSUserDefaults
并在您再次进入应用程序时再次加载到登录屏幕中(当然,NSUserDefaults
是永久的)。
现在,用户可以禁用用户名/密码保存功能。
所以那NSUserDefaults
将被清除。
但是在我的应用程序中,我需要这个用户名/密码来为用户进行数据库查询。那么:除了
之外,在哪里存储数据NSUserDefaults
?(当用户退出应用程序或注销时,这个地方可以/应该被删除)。
答案1
小编典典您应该始终使用 Keychain 来存储用户名和密码,并且由于它是安全存储的并且只有您的应用程序可以访问,所以在应用程序退出时无需删除它(如果您担心的话)。
Apple
提供了存储、读取和删除钥匙串项的示例代码,这里是如何使用该示例中的钥匙串包装类,这极大地简化了钥匙串的使用。
包括 Security.framework (在 Xcode 3 中右键单击 frameworks 文件夹并添加现有框架。在 Xcode 4
中选择您的项目,然后选择目标,转到 Build Phases 选项卡并单击 Link Binary With Files 下的 +) 和
KeychainItemWrapper .h & 。 m 文件到您的项目中,#import .h 文件在您需要使用钥匙串的任何地方,然后创建此类的实例:
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"YourAppLogin" accessGroup:nil];
( YourAppLogin 可以是您选择调用钥匙串项目的任何内容,如果需要,您可以拥有多个项目)
然后您可以使用以下方法设置用户名和密码:
[keychainItem setObject:@"password you are saving" forKey:kSecValueData];[keychainItem setObject:@"username you are saving" forKey:kSecAttrAccount];
让他们使用:
NSString *password = [keychainItem objectForKey:kSecValueData];NSString *username = [keychainItem objectForKey:kSecAttrAccount];
或使用以下方法删除它们:
[keychainItem resetKeychainItem];
关于Windows Phone 7 – 是否有标准在WP7应用程序中存储用户名和密码?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Android实战教程第七篇之如何在内存中存储用户名和密码、Android:存储用户名和密码?、c# – 如何在Windows Phone 7应用程序中以脱机模式从Web查看图像、iOS:如何在应用程序中存储用户名/密码?的相关知识,请在本站寻找。
本文标签: