在这篇文章中,我们将为您详细介绍我的第一个iphonet小程序诞生!的内容,并且讨论关于applet小程序的相关问题。此外,我们还会涉及一些关于1.1微信小程序--我的第一个小程序、android-我
在这篇文章中,我们将为您详细介绍我的第一个iphonet小程序诞生!的内容,并且讨论关于applet小程序的相关问题。此外,我们还会涉及一些关于1.1 微信小程序--我的第一个小程序、android-我正在尝试运行我的第一个Ionic应用程序,但是却出现此错误,它没有找到我的手机,也没有找到要运行的模拟器、asp.net – 构建我的第一个ASP应用程序、html – 为什么我的第一个inline-block元素上面有空格的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 我的第一个iphonet小程序诞生!(applet小程序)
- 1.1 微信小程序--我的第一个小程序
- android-我正在尝试运行我的第一个Ionic应用程序,但是却出现此错误,它没有找到我的手机,也没有找到要运行的模拟器
- asp.net – 构建我的第一个ASP应用程序
- html – 为什么我的第一个inline-block元素上面有空格
我的第一个iphonet小程序诞生!(applet小程序)
经过一周的时间,终于完成了我的第一个iphone程序,暂时出名叫PocketWord,简称PW。它是一个简单的单词手册程序,目前功能是:可以开关单词解释,当关闭单词解释时,被选择单词会显示涵义。
上面是程序的界面,非常的简单,但还是在使用sqlite3时费了我不少周折,现在总结一下完成这个程序中遇到的问题,做个纪念。
单词都是放在sqlite3数据库文件中的,在xcode中使用的#import <sqlite3.h>导入头文件,以C函数的形式调用使用。
问题1. 导入sqlite3动态连接库
在做PW程序之前,还专门用sqlite3做了一个控制台程序,就遇到编译问题,后来才知道xcode中使用sqlite3还需要导入libsqlite3.dylib动态连接库文件。查询一翻找到“/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libsqlite3.dylib” 文件导入工程中,程序也顺利编译通过。待到做PW程序时,之前是在模拟器中调试运行都还一切正常。正在高兴之时,设置为真机运行时提示link错误.
从提示的信息上看,是sqlite3在连接上出的问题。还好在网络上cocoachina论坛上找到同样问题的帖子,才解决决问题。
问题原因是在iphone中使用的libsqlite3.dylib与在mac上的文件不一样。在iphone上需要导入:
“/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libsqlite3.dylib"目录下的动态连接文件。
后来发现在xcode中可以直接导入,非常方便,免得到目录中去找。具体方法是:
选择project->TARGETS->BuildPhases->LinkBinaryWith Libraries 点击加号,在弹出的窗口中选择sdk提供的动态库就是了。
还是看图简单一点:
问题2. 数据库文件的存放,与复制。
sqlite3动态连接问题前,在模拟器中运行的时候还遇到一个问题,就是在使用sqlite3_prepare_v2函数执行SQL查询时总是返回1,意思是表不存在,但调试打开数据库是正常的。我又反复在终端上使用sqlite3命令行程序反复验证过sql是对的,表是也是有的。分析了一下: 1.sqlite在使用上不对; 2.要不就是数据库文件不对. 我在打开数据库之前使用代码检查一下db文件是否存,打印出文件大小:
//取得document路径数组 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDirectory,YES); //取得一个为当前程序的document目录 Nsstring *documentDirectory = [pathsobjectAtIndex:0]; //组装db文件名。 self.dbFileName = [documentDirectorystringByAppendingPathComponent:@"vocabulary.db"]; if (self.dbFileName == nil) //文件不存在退出 return; //创建文件管理器 NSFileManager *fileManager = [NSFileManagerdefaultManager]; //取得文件属性,返回一个字典对象 NSDictionary * attributes = [fileManagerattributesOfItemAtPath:self.dbFileName error:nil]; //从字典里查询NSFileSize,取文件大小 NSNumber *theFileSize = [attributesobjectForKey:NSFileSize]; NSLog(@"%dbfile: @,size: %d",self.dbFileName,theFileSize); if(theFileSize == 0) return;
调试程序发现,我的db文件大小为0,这是因为sqlite3_open函数在发现指定的文件不存在时,会自动生成。我的db文件不documneth目录下,必使用代码将使用到的资源文件拷贝到document下:
//使用NSBundle来取得工程中的db文件路径。 Nsstring *dbFile = [NSBundle mainBundle] pathForResource:@"vocabulary"ofType:@"db"]; [fileManager copyItemAtPath: dbFiletoPath: self.dbFileName error:nil];至此才将db文件复制到环境下,数据库问题终于解决了。
1.1 微信小程序--我的第一个小程序
首先应该是小程序的注册,注册只要一次,后面又不需要注册了,网上也有很多介绍,下面说有用的。
1.开发常用快捷键(必须都背下来)
Ctrl+S:保存 Ctrl+C:复制选中的 Ctrl+V:粘贴 Ctrl+X:剪切选中的
Ctrl+home:移到文件开头 Ctrl+end:移到文件结尾
Ctrl+F:页面内搜关键字 Ctrl+P:全局搜源文件名(按esc可退出)
Ctrl+Shift+F:全局关键字搜索(注意:可能会与输入法的快捷键冲突,取消其他的快捷键就行了)
2.文件结构
小程序包含一个描述整体程序的app 和多个描述各自页面的page 。
一个小程序主题部分由 3 个文件组成,必须放在项目的根目录,如下:
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>文件</td>
<td>是否必须有?</td>
<td>作用</td>
</tr>
<tr>
<td>app.js</td>
<td>是</td>
<td>小程序逻辑</td>
</tr>
<tr>
<td>app.json</td>
<td>是</td>
<td>小程序公共设置</td>
</tr>
<tr>
<td>app.wxss</td>
<td>否</td>
<td>小程序公共样式表</td>
</tr>
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>文件类型</td>
<td>是否必须有?</td>
<td>作用</td>
</tr>
<tr>
<td>.js</td>
<td>是</td>
<td>页面逻辑</td>
</tr>
<tr>
<td>.wxml</td>
<td>是</td>
<td>页面结构</td>
</tr>
<tr>
<td>.wxss</td>
<td>否</td>
<td>页面样式表</td>
</tr>
<tr>
<td>.json</td>
<td>否</td>
<td>页面配置</td>
</tr>
如下图(简单展示):
文件目录(这些都包含在你工程文件夹下,加粗表示文件夹,我的工程文件夹下是 me):
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>第一级</td>
<td>images</td>
<td>pages</td>
<td>app.json</td>
</tr>
<tr>
<td>第二级</td>
<td>.png等图</td>
<td>
<table border="1" cellpadding="1" cellspacing="1"><tr>
<td>aboutme</td>
<td>home</td>
</tr></table>
</td>
<td> </td>
</tr>
<tr>
<td>第三级</td>
<td> </td>
<td>
<table border="1" cellpadding="1" cellspacing="1"><tr>
<td>
aboutme.js
aboutme.wxml
工具:微信开发者工具3.直接 给3个文件的代码,放到对应的文件里面,没给的可不用代码也行:
代码)
1. aboutme.js
获取应用实例
app = getApp()
Page({
data: {
img: ,
title: ,
intro: ,
contact: ,
address: ,
wechat: ,
email:
},
callme: () {
wx.makePhoneCall({
phoneNumber: .data.contact
})
}
})
2. aboutme.wxml
< =
{{title}}
介绍:{{intro}}
=手机:{{contact}}
地址: {{address}}
微信号:{{wechat}}
邮箱:{{email}}
3. app.json
{
:[
,
],
:{
:,
: ,
: 小程序",
:
:
},
: {
: [
{
: ,
: ,
:,
:
},
{
: ,
: ,
: ,
:
}
]
}
}
看懂代码,知道这些代码是干嘛的:
aboutme.js
获取应用实例
app = getApp()
Page({
data: {
img: ,
callme: () {
wx.makePhoneCall({ //调用打电话函数
phoneNumber: .data.contact //号码,调用data数组了的:contact
})
}
})
aboutme.wxml
< = //以{{对应文件.js里data数组名直接代替内容}},方便后续更改内容
{{title}} //
介绍:{{intro}}
=手机:{{contact}} //设置为按钮,点击可打电话,跳转到callme函数,在.js文件里调用
地址: {{address}}
微信号:{{wechat}}
邮箱:{{email}}
app.json
{
:[ 注册*/
,
:{
:,
: 页面下拉
},
: {
: [ 标签栏,最少两个标签*/
{
: , //路径
: , //名称
:, //图片路径
:图片的路径
},
:
}
]
}
}
4.前3个代码放到对应的文件里,文件夹里 调用,编译 就行了。
主页没任何东西,点击不显示任何东西。
点击我的手机号码可以拨打我的电话。
这样一个展示的小程序就完成了。
android-我正在尝试运行我的第一个Ionic应用程序,但是却出现此错误,它没有找到我的手机,也没有找到要运行的模拟器
$ionic run android
结果:
No target specified and no devices found, deploying to emulator
Error: No emulator images (avds) found.
1. Download desired System Image by running: “C:\Android\tools\android.bat” sdk
2. Create an AVD by running: “C:\Android\tools\android.bat” avd HINT: For a faster emulator, use an Intel System Image and install the HAXM
device driver
解决方法:
要运行ionic run android命令,您应该已安装android模拟器.所以安装并运行命令
如果仍要构建应用程序,则可以将手机连接到系统,在设置中启用开发人员选项,然后运行将安装到手机中的相同命令.
要在您的手机中启用开发人员选项:转到设置,开发人员选项,启用复选框USB调试.
asp.net – 构建我的第一个ASP应用程序
>处理用户验证/验证
>处理会话
>做SOAP消息传递
该应用程序旨在充当可通过Web服务调用访问的系统功能的前端.
我打算在客户端使用JavaScript做很多工作,并且我只想将ASP作为上面列出的3个项目的框架.
感谢您的任何建议.
解决方法
ASP.NET内置了Login控件(以及ChrisE提到的成员资格服务),并且还具有表单身份验证.尝试利用这些现有组件,避免使用会话来存储用户特定的对象/数据.
—会议咆哮
它有时是不可避免的,但你应该尽可能地避免它.它会给每个用户带来Web服务器的负担,并导致一些非常困难的扩展问题. FormsAuthentication Ticket有一个value属性,您可以存储大约4K的用户数据 – 尝试使用它.
—结束会议咆哮
尝试使用MVC方法(不一定是ASP.NET MVC),但至少有一个方法可以从数据/模型层中分离您的表示/视图层.
创建默认主题并使用它.大多数网站以后需要有多个主题,重构将成为PIA.
如果您需要SOAP与Non.NET服务进行交互,那么一定要使用它.如果您只是连接到.NET服务,那么请查看WCF客户端和服务.它们会给你更多的灵活性.
如果您使用javascript进行客户端工作,则不要使用更新面板.它增加了很多开销.
获取FireFox FireBug YSlow和IE8(是的还是它的测试版).在处理调试/样式的客户端时,他们会帮助您.
看一下rules for website performance,但要带上一粒盐.它们适用于非常大的站点,某些项目可能不适用(CDN,DNS查找,重定向).
html – 为什么我的第一个inline-block元素上面有空格
这里是html(没有空格,所以他们不会毁坏布局):
<div><div><p>test</p></div><ul><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li><li><a href='#'>Link</a></li></ul></div>
这里是css:
.nav { position: relative; width: 80%; height: 50px; background-color: red; z-index: 1; } .nav .logo { display: inline-block; width: 10%; height: 100%; background-color: #f90; } .nav ul { display: inline-block; width: 90%; text-align: center; } .nav li { display: inline-block; height: 100%; line-height: 50px; width: 20%; background-color: grey; } .nav li a { margin: 0; }
这是一个显示问题的代号:
http://codepen.io/Wryte/pen/Guavp
解决方法
.nav .logo { display: inline-block; vertical-align: top; width: 10%; height: 100%; background-color: #f90; } .nav ul { display: inline-block; vertical-align: top; width: 90%; text-align: center; }
http://codepen.io/anon/pen/Kpthz
今天关于我的第一个iphonet小程序诞生!和applet小程序的介绍到此结束,谢谢您的阅读,有关1.1 微信小程序--我的第一个小程序、android-我正在尝试运行我的第一个Ionic应用程序,但是却出现此错误,它没有找到我的手机,也没有找到要运行的模拟器、asp.net – 构建我的第一个ASP应用程序、html – 为什么我的第一个inline-block元素上面有空格等更多相关知识的信息可以在本站进行查询。
本文标签: