我有一个用户登记和退出时间表("lms_attendance"),如下所示:
id user time io (enum)
1 9 1370931202 out
2 9 1370931664 out
3 6 1370932128 out
4 12 1370932128 out
5 12 1370933037 in
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个这个表的视图,它只输出每个用户ID的最新记录,同时给我"in"或"out"值,如下所示:
id user time io
2 9 1370931664 out
3 6 1370932128 out
5 12 1370933037 in
Run Code Online (Sandbox Code Playgroud)
我很接近,到目前为止,但我意识到,意见将不接受subquerys,这使其成为了很多困难.我得到的最接近的查询是:
select
`lms_attendance`.`id` AS `id`,
`lms_attendance`.`user` AS `user`,
max(`lms_attendance`.`time`) AS `time`,
`lms_attendance`.`io` AS `io`
from `lms_attendance`
group by
`lms_attendance`.`user`,
`lms_attendance`.`io`
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
id user time io
3 6 1370932128 out
1 9 1370931664 out
5 12 1370933037 in …Run Code Online (Sandbox Code Playgroud) 有没有办法在使用建筑师时听毕加索的事件,如:
Picasso.with(getContext()).load(url).into(imageView);
我想打电话requestLayout()和invalidate()父GridView所以它会适当调整,但我不知道如何设置监听器或回调.
我看到Picasso有错误事件报告,但有成功事件吗?
这似乎是一个常见的请求,但我无法找到关于做这样的事情的明确指示.
我想要一个子域来触发我的CI安装上的某个控制器.例如:
students.mysite.com:会打开mysite.com/students(技术上:mysite.com/index.php/students.控制器: 学生)
teachers.mysite.com:会打开mysite.com/teachers
在深入穿越时保留子域.例如:
students.mysite.com/help:会打开mysite.com/students/help(控制器:students(),方法:help())
students.mysite.com/help/contact:会打开mysite.com/students/help/contact(控制器:students(),方法:help(),参数:"contact")
students.mysite.com/help/contact/email:会打开mysite.com/students/help/contact(控制器:students(),方法:help(),参数:"contact","email")
我意识到something.mysite.com现在返回错误.所以我认为:
第1步将允许anything.mysite.com返回根(mysite.com/index.php)
第2步将读取子域并调用该控制器
第3步将在第一个"/"之后读取第一个参数并调用控制器的该方法,并将剩余的url部分作为参数传递
我想我真的很难过第一步.我在共享主机帐户上,这是我可以通过CPanel做的事情吗?我尝试在没有任何运气的情况下为*.mysite.com添加子域名(除非我只需要等待更长时间才能进行传播,但我觉得错误的可能性更大).
回到我家的WAMP安装,我会更改httpd.conf,对吧?我可以在不修改该文件的情况下实现此效果(因为我可能不能,因为我使用webhostinghub.com共享)
哎呀,谢谢你的时间! - …
我已经看到这PagerTabStrip是一种显示标签的方法ViewPager.现在ActionBar已经被弃用了Toolbar,似乎这PagerTabStrip是我唯一的选择.
除此之外,我只看到它以下列风格出现:

我真的只想要正常的标签(带图标),就像我之前使用ActionBar一样:

现在这样做的正确方法是什么?我应该使用旧的TabWidget并手动添加标签吗?还是有一种造型PagerTabStrip我不知道的方式?
编辑:这是我最终使用的库:https://github.com/neokree/MaterialTabs
有没有办法制作新的Android支持工具栏:
android.support.v7.widget.Toolbar
Run Code Online (Sandbox Code Playgroud)
有透明的背景吗?
我尝试将其设置colorPrimary为ARGB(#00ffffff),但它只是给了我一个坚实的灰色条.并且Toolbar只允许我设置背景可绘制.是否可以将背景绘制为透明PNG,或者有更好的方法吗?
理想情况下,我可以在代码/动画中执行它,以便某些活动具有透明条,而某些活动则没有.
提前致谢.
我通过这样的方式启动我的Android应用程序中的ID令牌:
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
Run Code Online (Sandbox Code Playgroud)
server_client_id我的SERVER的Oauth客户端ID 在哪里.然后我请求令牌googleAccount.getIdToken()
然后在我的服务器(PHP)上,当我验证令牌时,我验证它是这样的:
$client = new \Google_Client(['client_id' => getenv("GOOGLE_CLIENT_ID")]);
try {
$payload = $client->verifyIdToken($this->idToken);
} catch (\Exception $e){
throw new BadRequestHttpException($e->getMessage());
}
if($payload){
$this->verifyPayload($payload);
} else {
throw new AccessDeniedHttpException("Invalid ID Token");
}
Run Code Online (Sandbox Code Playgroud)
GOOGLE_CLIENT_ID我的ANDROID的Oauth客户端ID 在哪里?
我正在关注此指南:https://developers.google.com/identity/sign-in/android/start-integrating.
在此页面上显示:https://developers.google.com/identity/sign-in/android/backend-auth
配置Google登录时,请调用requestIdToken方法并将其传递给服务器的Web客户端ID.
因此,为什么我server_client_id在我的Android应用程序中使用.它是否正确?
//指定访问后端的应用程序的CLIENT_ID
这就是我在服务器上使用ANDROID客户端ID的原因.
这是正确的吗?要使用彼此的Oauth client_id?或者他们都应该使用Android CLIENT_ID?
提前致谢
我正在尝试自定义扩展的主题Theme.AppCompat.Light.我不确定具体需要更改哪些值,例如:
操作栏文本颜色
默认窗口/视图背景颜色
我正在使用new android.support.v7.widget.ToolBar作为我的操作栏,所以正常值android:actionBarStyle似乎没有在它上面工作.
我想查看每个样式的默认属性和值列表,这样我至少可以查找需要更改的属性.
谢谢!
我将PHP对象发送到模板文件,并且希望在模板文件的顶部记录对象的哪些属性(使用__get)可用以及它们是什么,并使它们可用于代码提示.
这是一个例子.
在我的控制器中:
$obj = new Template("welcomePage");
$obj->title = "Welcome!";
$obj->render();
Run Code Online (Sandbox Code Playgroud)
在我的视图/模板中:
<?php
/**
* @var $obj Template The template data wrapper
* @property $obj->title string The page header text
/* ?>
<h1><?php echo $obj->title; ?></h1>
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西可行?如果我开始输入$obj->,我现在拥有它的方式将不会自动完成,这意味着我(或团队成员)需要引用模板的顶部来查找每个可用属性.
我正在考虑为每个模板类型扩展Template类,但这似乎是不必要的开销,因为我可能每页只添加一个字符串和一个数组,并为每个模板创建一个单独的类,部分模板和两者的组合似乎是有点傻.
谢谢〜
我有一个FrameLayout加载Fragments通过点击一个标签TabWidget.我无法弄清楚如何使高度FrameLayout与其内容一样高,以便整个包含ScrollView将一起滚动而不是单独的滚动视图.
这是这个Fragment结构的一个直观的例子:

正如您所看到的,帧布局可见高度仅显示片段的一行,而实际上有一些.我可以在其中滚动FrameLayout以查看现在的其他行,但这不是我想要的.该FrameLayout由一个LinearLayout包含GridView与他们的layout_heightS设定到wrap_content.
我尝试将其高度硬编码为FrameLayout类似于500dp的东西,除了它不再动态调整大小外,它的效果很好.FrameLayout每次将新图像加载到内部内容中时,是否需要以编程方式调整大小?是否有我可以设置的布局属性,因此它会拉伸其高度以匹配其内部内容?
这是我的布局xml文件:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="200dp">
<!-- CONTAINS USER INFO AND STATS -->
</RelativeLayout>
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="60dp"
android:weightSum="2">
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</FrameLayout>
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
谢谢!
既然我要为此设置赏金,我想我会分享到目前为止我已经想到的东西. …
我的学习应用需要显示韩语,英语和中文.我的一个解决方案是嵌入韩文/英文字体和中文字体.然后用不同的TextFormats 组合一个字符串.
问题是,我很肯定IOS和Android设备应该包含原生中文,韩文和英文字体,而且我更愿意参考并使用这些字体而不是打包它们.
我尝试使用检测字体Font.enumerateFonts(true),但是当我使用时font.hasGlyphs('?'),我没有得到真实或任何东西,所以我不知道如何选择正确的设备字体.
如果这不起作用,是否有包含所有这些字符的字体?或者也许是一个字体生成器程序,它允许我自定义要包含的字体
现在我正在检测用户的浏览器是否有触摸事件并且正在侦听touchend而不是click某些元素(以克服'等待双击'延迟).它适用于我正在使用的滑出式抽屉.
我想修改我的应用程序,以便元素ng-click="function()"将响应click桌面事件(没有可用的触摸事件)并响应touchend触摸设备.
我宁愿不为ng-touch某个东西创建新的指令,而只是修改ng-click指令.不过,我不知道如何修改内置的Angular指令.
有没有办法做到这一点?
这是我开始的一个粗略的JS小提琴,但没有走得太远:
我发现我可以用来event.is_pressed()检查何时发生点击(我假设是点击)。但是,当 LMB(鼠标左键)仍然按下时,任何额外的动作并不等于true使用is_pressed()
这是我用于此测试的代码块:
func _input(event):
var tilemap = find_node("TileMap")
if(event.is_pressed()):
tiles.highlight(event.position)
Run Code Online (Sandbox Code Playgroud)
当我实际单击时,tiles.highlight()会调用 ,但是当我在 LMB 仍然按下的情况下移动鼠标时,它不会调用tiles.highlight()。我需要在这里使用不同的功能吗?
当我按下工具栏中的"后退/上移"按钮上升一级时,当我想要finish当前的活动时,父活动会重新创建自己(重新加载数据等).
现在我的活动是自动创建Toolbar(支持工具栏),所以我不知道如何选择它来NavUtils.navigateUpFromSameTask(this);点击它时调用.
是否有一个简单的标志我可以设置它来告诉它finish而不是重新创建父活动?