可以用nuGet来打开。
1、首先需要打开nuGet的文件,如图所示,然后点击左上角的工具-nuGet程序包管理器慎念。
2、然后选择之后,如图所示,再点击如图所示箭头的文字选项。
3、然后d出对话框,点击最右侧的绿色加号就是如图所示的标志。
4、接下来就是添加成功,就会有下面的链接,如图所示,这个时候回车键。
5、最后,就可以看到文件已经打开了,这样 *** 作即可解中慧决问题了。
扩展资料
Nuget是 ASP .NET Gallery 的一员。NuGet 免费、开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库。
当需要分享开发的工具或是库,需要建立一个Nuget package,然后把这个package放到Nuget的站点。如果想要使用别人已经开发好的工具或是库,只需要从站点获得这个package,并且安装到自己的Visual Studio项目或是解决方案里。
NuGet能更方便地把一些dll和文件(如jquery)添加到项目中,而不需要从文件中复制拷贝。
JQuery:Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+,Jquery 2.x不支持IE6 ,IE7 ,IE8)。
jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
Juice UI:Juice UI是开源的 WebForms 控件集,是一个功能强大的框架,它可以给ASP .NET开发人员带来丰富的、可以作为易于使用的控件的jQuery UI小部件。
Juice项目是由appendTo在与微软和ComponentOne的合作下开发出来的。有了它,就可以在 ASP .NET 项目中轻易地使用流行的 JavaScript 界面库。
Wijmo Open for Juice UI:Wijmo Open for Juice UI是为ASP .NET社区提供一个免费的宽培困工具,作为一种对Juice项目的贡献,且为构建丰富的Web应用程序而扩大发行。
在开发过程中,我们需要将某些数据保存下来,比如一些设置信息以及一些用户主动去保存的数据。待用户下次打开应用时候,携枣再自动加载这些信森侍息。下面将介绍windows8开发中如何存储数据。一.本地数据存储
在wp中我们使用IsolatedStorageSettings进行本地数据存储,在win8中也提供类似的方法进行存储,我们使用ApplicationData.Current.LocalSettings。下面将通过实例进行描述:
在节目上添加姓名、年龄、性别三个控件,代码如下:
1 <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
2 <StackPanel Margin="40,40,0,0">
3 <StackPanel Orientation="Horizontal" Height="80">
4 <TextBlock Text="姓名:" Style="{StaticResource BasicTextStyle}" FontSize="20" VerticalAlignment="Center"/>
5 <TextBox x:Name="txtName" Text="" FontSize="24" Width="200" Height="40"/>
6 </StackPanel>
7 <StackPanel Orientation="Horizontal" Height="80">
8 <TextBlock Text="年龄:" Style="{StaticResource BasicTextStyle}" FontSize="20" VerticalAlignment="Center"/>
9 <TextBox x:Name="txtAge" Text="" FontSize="24" Width="200" Height="40"/>
10 </StackPanel>
11 <StackPanel Orientation="Horizontal" Height="80">
12 <TextBlock Text="性别:" Style="{StaticResource BasicTextStyle}" FontSize="20" VerticalAlignment="Center"/>
13 <ComboBox x:Name="cbxSex" Height="40" Width="200" SelectedIndex="1">此隐吵
14 <ComboBoxItem>男</ComboBoxItem>
15 <ComboBoxItem>女</ComboBoxItem>
16 </ComboBox>
17 </StackPanel>
18 <StackPanel Orientation="Horizontal">
19 <Button Content="保存" Width="100" Height="40" FontSize="16" Click="btnSave_Click"></Button>
20 <Button Margin="20,0,0,0" Content="读取" Width="100" Height="40" FontSize="16" Click="btnRead_Click"></Button>
21 <Button Margin="20,0,0,0" Content="清空" Width="100" Height="40" FontSize="16" Click="btnClear_Click"></Button>
22 </StackPanel>
23 </StackPanel>
24 </Grid>
新建类AppDataHelper.cs,引用命名空间using Windows.Storage。我们将读取和保存封装成共通,方便调用。
保存数据:
1 /// <summary>
2 /// 保存数据
3 /// </summary>
4 /// <typeparam name="T">数据类型</typeparam>
5 /// <param name="key">键</param>
6 /// <param name="value">值</param>
7 public static void Save<T>(string key, T value)
8 {
9 ApplicationData.Current.LocalSettings.Values[key] = value
10 }
读取数据:
1 /// <summary>
2 /// 读取数据
3 /// </summary>
4 /// <typeparam name="T">数据类型</typeparam>
5 /// <param name="key">键</param>
6 /// <returns>值</returns>
7 public static T Read<T>(string key)
8 {
9 if (ApplicationData.Current.LocalSettings.Values.ContainsKey(key))
10 {
11 return (T)ApplicationData.Current.LocalSettings.Values[key]
12 }
13 else
14 {
15 return default(T)
16 }
17 }
删除数据:
1 /// <summary>
2 /// 移除数据
3 /// </summary>
4 /// <param name="key">键</param>
5 /// <returns>成功true/失败false</returns>
6 public static bool Remove(string key)
7 {
8 return ApplicationData.Current.LocalSettings.Values.Remove(key)
9 }
我们只要在需要存储或者读取数据的地方进行调用,就可以了。
1 private void btnSave_Click(object sender, RoutedEventArgs e)
2 {
3 AppDataHelper.Save<string>("name", txtName.Text.Trim())
4 AppDataHelper.Save<int>("age", int.Parse(txtAge.Text.Trim()))5 AppDataHelper.Save<int>("sex", cbxSex.SelectedIndex)
6 }
7 private void btnRead_Click(object sender, RoutedEventArgs e)
8 {
9 txtName.Text = AppDataHelper.Read<string>("name")
10 txtAge.Text = AppDataHelper.Read<int>("age").ToString()
11 cbxSex.SelectedIndex = AppDataHelper.Read<int>("sex")
12 }
那么我们保存的数据保存到哪里去了呢?我们应该如何找到他们,别急,我们下面开始找保持的数据。
打开C:\Users\\AppData\Local\Packages\ \Settings\settings.dat, user_name对应当前登录的用户名,packpage对应此应用的唯一标识,在Package.appxmanifest中我们可以找到它:
此文件为.dat后缀,我们需要用注册表工具打开它,开始->运行(win+R键),输入Regedit,在打开的窗口里面选择 HKEY_LOCAL_MACHINE,
然后选择文件->加载配置单元,选择settings.dat文件,打开填入项名称,确定之后可以看到保存的数据会显示在其中。
双击name,打开,我们可以看到存储的数据值。
那么我们是否能像wp那样存储一个对象到本地存储呢,答案是否定的。win8中只能存储一些简单类型,如int、bool、string等
下面有一个Person对象:
1 [DataContract]
2 public class Person
3 {
4 [DataMember]
5 public string Name { getset}
6 [DataMember]
7 public int Age { getset}
8 [DataMember]
9 public int Sex { getset}
10 }
进行存储:
1 Person person = new Person()
2 {
3 Name = txtName.Text.Trim(),
4 Age = int.Parse(txtAge.Text.Trim()),
5 Sex = cbxSex.SelectedIndex
6 }
7 AppDataHelper.Save<Person>("person", person)
此时会报错,提示不支持此类型存储。
那么我们应该如何存储一个对象呢?下面我们将介绍文件存储。
二.文件存储
对于那些比较复杂的数据类型,我们需要将其存储为文件的形式存储在应用中。StorageFile的存储,以文件的形式进行存储存入数据。
新建一个类,LocalFileHelper.cs
存储文件:
1 /// <summary>
2 /// 存储数据/// </summary>
3 /// <typeparam name="T">数据类型</typeparam>
4 /// <param name="fileName">文件名称</param>
5 /// <param name="data">数据</param>
6 /// <returns>无</returns>
7 public async static Task Save<T>(string fileName, T data)
8 {
9 //取得当前程序存放数据的目录
10 StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder
11 //创建文件,如果文件存在就覆盖
12 StorageFile file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting)
13 using (Stream newFileStream = await file.OpenStreamForWriteAsync())
14 {
15 DataContractSerializer ser = new DataContractSerializer(typeof(T))
16 ser.WriteObject(newFileStream, data)
17 newFileStream.Dispose()
18 }
19 }
读取文件:
1 /// <summary>
2 /// 读取数据
3 /// </summary>
4 /// <typeparam name="T">数据类型</typeparam>
5 /// <param name="fileName">文件名称</param>
6 /// <returns>数据</returns>
7 public async static Task<T>Read<T>(string fileName)
8 {
9 T t = default(T)
10 try
11 {
12 StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder
13 StorageFile file = await folder.GetFileAsync(fileName)
14 if (file == null)
15 return t
16 Stream newFileStream = await file.OpenStreamForReadAsync()
17 DataContractSerializer ser = new DataContractSerializer(typeof(T))
18 t = (T)ser.ReadObject(newFileStream)
19 newFileStream.Dispose()
20 return t
21 }
22 catch (Exception)
23 {
24 return t
25 }
26 }
删除文件:
1 /// <summary>
2 /// 删除文件
3 /// </summary>
4 /// <param name="fileName">文件名称</param>
5 /// <returns>成功true/失败false</returns>
6 public async static Task<bool>Delete(string fileName)
7 {
8 StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder
9 StorageFile file = await folder.GetFileAsync(fileName)
10 if (file != null)
11 {
12 try
13 {
14 await file.DeleteAsync()
15 }
16 catch (Exception)
17 {
18 return false
19 }
20 }
21 return true
22 }
使用方法:
1 Person person = new Person()
2 {
3Name = txtName.Text.Trim(),
4 Age = int.Parse(txtAge.Text.Trim()),
5 Sex = cbxSex.SelectedIndex
6 }
7
8 await LocalFileHelper.Save<Person>("person.xml", person)
9
10 List<Person>list = new List<Person>()
11 list.Add(person)
12 list.Add(person)
13 await LocalFileHelper.Save<List<Person>>("personList.xml", list)
14
15
16 Person newPerson = await LocalFileHelper.Read<Person>("person.xml")
17 List<Person>personList = await LocalFileHelper.Read<List<Person>>("personList.xml")
文件在哪里?
同样我们打开C:\Users\user_name\AppData\Local\Packages\package\LocalState文件夹,下面就有我们保持的文件,打开文件,保存文件的内容格式为xml:
<Person xmlns="http://schemas.datacontract.org/2004/07/StorageSample" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Age>
27</Age><Name>BetterChaner</Name><Sex>0</Sex></Person>
三.使用Sqlite进行数据存储
Sqlite现已提供对Windows RT和Windows 8 Metro应用的支持.
首先,在工具,选择扩展与更新中,选择联机,在搜索框内输入sqlite,找到SQLite for Window Runtime,下载安装。
安装完成之后重启VS,右击项目添加引用,选择Windows->扩展,找到Mircosoft visual c++ runtime package和sqlite for windows runtime,打勾,确定。
由于目前Sqlite不支持AnyCPU,所以我们将项目改成X64,右击解决方案,属性,修改之。
然后右击引用,选择管理Nuget程序包,联机搜索sqlite-net,下载安装。
我们发现项目工程中多了2个类文件,SQLite.cs和SQLiteAsync.cs
基本 *** 作:
1 //创建数据库
2 string dbRootPath = Windows.Storage.ApplicationData.Current.LocalFolder.Path
3 SQLiteConnection db = new SQLiteConnection(Path.Combine(dbRootPath, "myApp.sqlite"))
4
5 //创建表
6 db.CreateTable<Person>()
7
8 //插入一条数据
9 db.Insert(new Person() { Name = "BetterChaner", Age = 27, Sex = 1 })
10
11 //插入多条数据
12 List<Person>list = new List<Person>()
13 list.Add(new Person() { Name = "Zhangsan", Age = 27, Sex = 1 })
14 list.Add(new Person() { Name = "Lisi", Age = 32, Sex = 0 })
15 list.Add(new Person() { Name = "Wangwu", Age = 24, Sex = 1 })
16 db.InsertAll(list)
17
18 //查询数据
19 List<Person>list2 = db.Query<Person>("select * from Person")
20
21 //更新数据
22 SQLiteCommand cmd = db.CreateCommand("update Person set Age=21 where Name='Lisi'")
23 cmd.ExecuteNonQuery()
24
25 //删除一条数据
26 db.Delete(new Person() { Name = "Zhangsan", Age = 27, Sex = 1 })
27 //删除全部数据
28 db.DeleteAll<Person>()
数据存储的位置为:C:\Users\\AppData\Local\Packages\ \LocalState\文件夹下的myApp.sqlite
四.SqlCE
有了Sqilte,SqlCE不太经常会用到了,在这里就不写出实例了,与wp中类似。
小结
以上为windows store app开发中可以使用的几种存储数据的方式,可以根据数据大小、作用以及类型选择应该使用哪一种存储方式。
安卓系统手机里的应用程序可以自己改名字和更换图标吗可以 但不适合新手
需要反编译安装包 手机自带应用需要ROOT 和改固件包
可以的,把apk文件用winrar打开,res文件夹里就是图片,再把你要替换的文件改成原来文件相同名字拖进去替换就可以,注意两个文件的格式什么的要一样。
怎么把应用程序更换图标?你说的应用程序是什么啊,怎么了一般的不是都带吗,你要是想换个图标恩,也行,选中图标,右键属性,选择更改图标,选中自己喜欢的。你试试吧...其他的我看了,一个意思,还有些就是瞎扯淡,哪那么麻烦啊..你说是不... 追问: EXE类型文件 回答: 恩,这个不好换,你想啊,无论 那个公司出品的软件都有自己的标志,对吧,不是你想换就能换的。要是你真的想换个图标就把 扩展名 改掉就成了,不过这样就不能使了。恩记得以前的windows98有一项功能就是创建快捷方式。但是不好使,现在已经被取消掉了...你要是还有什么不懂加我qq咱俩交流交流,我是 学电脑 的...
安卓是 *** 作系统 爪哇是应用程序 原来没有爪哇的安卓智能手机可以自己安装这个应用程序吗?
可以,你可以在安卓的机子上先下载个java模拟器就可以装java软件了
怎么给electron应用程序更换图标前言:研究electron自动更新的时候,在electron的官方文档auto-updater 中,提到了在几个平台mac,linux,windows下electron 的自动更新方法,其中windsow平台上面,文章中建议先用grunt-electron-installer 模块来创建windows安装包,grunt这个工具是由Squirrel集成的。进而了解下Squirrel这个工具橘纳,
一个可以用来给electron应用的安装更新卸载添加快捷方式的工具。本文主要提及如何在windows平台下,用Squirrel创建electron的.exe安装包。
创建nuget包
我们的方法是使用nuget工具创建Nuget包,再使用Squirrel工具创建.exe。
下载squirrel.exe和nuget.exe,也可以选择直接安装Squirrel.Windows (需要有vitual
studio环境)。
2.新建文件夹如my-build,把下载好的squirrel.exe,nuget.exe和setup.exe
放进去,在文件夹放入我们未打包的electron应用,如下图:
4.在my-build根目录中,打开命令行执橘启行nuget spec
如下图:
生成 spec包初始文件
5.编辑器打开 Package.nuspec,按照自己项目的需要编辑这个文件,如下图:
这里需要注意:根据Squirrel文档说明,target folder 属性需要设置为lib/45,否则并没有用;<iconUrl>标签用来制定未来的exe的icon。
5.用下面的命令创建一个nuget包,
nuget pack Package.nuspec
如下图:
之后在目录中会出现这个包
命名规则就是<my_app_name>.<version>.nupkg
创建安装程序
把应用程序打包成nuget包之后,就可以用squirrel创建一个安装程序了。在根目录打开命令行,执行以下命令:
squirrel --releasify <my_app_name>.<version>.nupkg
这个时候命令行中没有任何提示。但是别慌,编译一段时间后程序会创建一个release文件夹,里面有三个文件,nuget包,RELEASES 文件和安装文件Setup.exe。如下图:
如果没有出现这三个文件,可以查看目录中的SquirrelSetup.log,根据里面的报错,来进行调试。
注意上面这条squirrel 命令,可以用来设置setup.exe在安装过程中用传统icon还是用自定义的图圆伍没片文件。使用Squirrel --help可以查看更多帮助
发布应用和安装应用
把上一步生成的setup.exe发送给想要安装这个应用的用户,就可以了。
最终应用会被安装在C:\Users\Administrator\AppData\Local\[appname] 文件夹中,注意Squirrel 的日志文件也存在目录中,调试安装问题的时候非常有用。
双击我们的setup.exe进行安装app的测试,如果中途有任何出错,在
C:\Users\Administrator\AppData\Local\SquirrelTemp 里面可以看到安装日志。如下图:
安装之后打开C:\Users\Administrator\AppData\Local 目录,可以看到app安装在这里,如下图:
自动创建快捷方式
进入我们安装之后的文件夹,命令行进入C:\Users\Administrator\AppData\Local\[your appname],执行 Update.exe --help ,可以看到
不知道从上图你有没有得到什么提示,反正我发现了,在命令行手动创建快捷方式的命令是Update.exe --createshortcut electron\electron.exe -i [your ico toute]\app.ico
所以,如果我们想让应用在安装过程中静默地创建好快捷方式,那就需要在app的安装之后相反设法执行这句代码。
因为我们的.exe会在安装之后自动打开程序,所以我在程序的入口main.js,添加sqruieel事件的监听就好了。如下图:
我顺便把程序卸载时,删除快捷方式的监听事件也写了进去。还有程序的更新和删除事件监听,但是这两个事件,我还没有进行测试。
更新应用
其实我一直很想做增量更新,在这里我的更新方法有两个,第一是在程序的入口添加js,发送请求到服务器,拉取更改文件进行本地替换,但是如果是node_module依赖包的更改,这个方法并不可行。第二个方法比较安全而且快捷通过发布一个版本号不同的exe,如下:1.在这个创建安装程序的步骤2中,我们把程序代码都复制到了这个文件夹里面,如下图:
如果后续我们的程序要进行更新,首先我们需要把更改的文件直接复制替换到这个文件夹。
2.打开Package.nuspec,编辑version标签
3.参考本文种中创建安装程序部分的步骤2-4,重新生成setup.exe,发布应用。
通过执行setip.exe安装,程序会自动删除之前的应用,但是我并不清楚,sqruieel 是进行了增量替换,还是将之前的整个应用进行删除,再重新安装。
创建自定义安装包
在上一步,我们已经把自己的exe发布出来了,但是如果没有自定义名字跟icon,好像还不够酷,所以我们需要创建自定义的安装文件。
下载安装 Resource
Hacker
2.打开这个项目目录,在electron.exe上面右键
出现菜单,点击 Open using Rescource Hacker。
3.Resource Hacker应用运行之后中,在以下界面中选择Icon,然后在工具栏里面选择Action,Replace
Icon,如下图:
然后选择自己想要替换的.ico文件就好
4.这其实并不够,我们还需要更换exe里面的版本信息,打开Version
Info,把FileDescription和ProductName改成我们自己的项目名称,最好把SquirrelAwareVersion也更改一下,毕竟是版本号。
5.做完这些之后,我们需要按照之前的步骤,在命令行中输入
nuget pack Package.nuspec
重新生成nuget包,然后再使用
squirrel --releasify <my_app_name>.<version>.nupkg 命令创建安装文件。
6.打开之后生成的releases文件夹,参考本文种中创建安装程序部分的步骤2-4,对setup.exe进行自定义。
最后,一个可以自动更新又安装便捷,还有我们自己的酷酷的图标跟名字的应用就生成拉!
如何在安卓系统手机主页面加 应用程序键这个不可以的,我的手机桌面也没有
这个是和系统UI的设定有关的
要是想要的话你可以下载一个其他的手机桌面来用
也就是不用手机系统的桌面就ok了
我用的是q立方桌面,在应用宝里下载的
这个可以自己选择主题,可以自己设定桌面的样子
而且它是我用过相对来说比较流畅的,其他的或多或少都不如系统的流畅
除此之外就只能通过刷机来换桌面了,不过太麻烦
希望可以采纳哦
如何更换Mac系统下应用程序的图标打开苹果手机,到想移动的软件的界面。比如我们移动QQ软件。
点住它不松手。这时他会抖动起来。
拖入最下面的框中。
然后滑动界面,到自己想要移动到的界面。
点住他不松手,直到抖动。
拖入上方框中。就完成了。是不是很简单呢。
怎么样取安卓系统手机的内存卡不会丢失安装在里的应用程序点击设置、存储、卸载存储卡。即可将内存卡取出。取出内存卡后安装在内存卡的程序是不能使用的,装上内存卡后,原来的程序不会丢失,可以继续使用。
安卓系统刷机时,系统原本自带的应用程序会消失吗?刷机后,之前所有的东西都没有了
就等于电脑重新换了一个别的系统一样
安卓系统中兴V880 全部应用程序 图标丢失这个很简单的,你用的是什么桌面啊?如果是adw之类的,直接长按桌面空白的地方,点第一个图标,就是四个方块那个,在选择打开/关闭程序托盘就好了,或者试下桌面设置里面,重置桌面,如果你有备份恢复备份也行、甚至到设置里把桌面程序的数据清除也行,总之方法太多了呀。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)