如何获取CLOBOracle中列的大小(以字节为单位)?
LENGTH()并且DBMS_LOB.getLength()两者都返回使用的字符数,CLOB但我需要知道使用了多少字节(我正在处理多字节字符集).
我在我的活动中使用webview.
我不知道什么时候,但我得到以下错误信息.
即使我搜索这个,我也没有太多信息.
虽然这不是一个严重的错误,但我想修复它,以便我不会收到这样的消息.
如果有人知道如何解决它,我想得到一些建议.
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.SafeBrowsingResponse" on path: DexPathList[[zip file "/data/app/com.google.android.webview-8CSSo1rZm_xmerbnZrD5xA==/base.apk"],nativeLibraryDirectories=[/data/app/com.google.android.webview-8CSSo1rZm_xmerbnZrD5xA==/lib/arm64, /data/app/com.google.android.webview-8CSSo1rZm_xmerbnZrD5xA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:93)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:651)
at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:581)
at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int) (WebView.java:564)
at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet) (WebView.java:551)
at java.lang.Object java.lang.reflect.Constructor.newInstance0(java.lang.Object[]) (Constructor.java:-2)
at java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[]) (Constructor.java:334)
at android.view.View android.view.LayoutInflater.createView(java.lang.String, java.lang.String, android.util.AttributeSet) (LayoutInflater.java:647)
at …Run Code Online (Sandbox Code Playgroud) 假设我有'主题'表
CREATE TABLE subject (id int PRIMARY KEY, name VARCHAR(255) **UNIQUE**)
Run Code Online (Sandbox Code Playgroud)
和关联的映射对象,
@Entity
@Table(name="subject")
public class SubjectDO {
@Id
@Column(name="id")
int id;
@Column(name="name", unique=true)
String name;
...
// Getter-Setter methods
}
Run Code Online (Sandbox Code Playgroud)
当我尝试保存具有重复'name'的对象时,有或没有'unique = true'定义,我得到类似的行为(相同的异常.)而且很明显JPA实现不能真正做任何事情,除非伸手到DB为检查.
它的真实用例是什么?
(我在这里假设,唯一约束也在数据库级别定义.)
如何在工具箱中实现微调器的材料设计?我试过以下但是我的微调器看起来像这样

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/main_color"
app:contentInsetLeft="14dp"
app:contentInsetRight="14dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<Spinner
android:id="@+id/spinner_nav"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
我的最低sdk是15.
在我的onCreate上
ButterKnife.inject(this);
mToolbar.inflateMenu(R.menu.menu_login);
mToolbar.setTitle(R.string.sign_in);
mToolbar.setOnMenuItemClickListener(this);
SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(this,
R.array.options, android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(spinnerAdapter);
mSpinner.setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)
菜单是一张临时的纸张,总是与App Bar重叠,而不是作为App Bar的扩展.
任何链接都将是一个很大的帮助
UPDATE
我设法实现了我想要的

我用过这个
ButterKnife.inject(this);
mToolbar.setTitle(R.string.sign_in);
setSupportActionBar(mToolbar);
SpinnerAdapter spinnerAdapter = ArrayAdapter.createFromResource(getSupportActionBar().getThemedContext(),
R.array.options, android.R.layout.simple_spinner_dropdown_item);
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getSupportActionBar().setListNavigationCallbacks(spinnerAdapter, this);
Run Code Online (Sandbox Code Playgroud)
和我的xml
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/app_secondary_color"
app:contentInsetLeft="14dp"
app:contentInsetRight="14dp"
app:popupTheme="@style/ThemeOverlay.AppCompat"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar">
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
但是如何将其设为白色并且菜单的文本颜色为蓝色?我也有这个问题.它似乎太遥远了?任何方法来修复此下拉箭头?

更新2
在花了这么多时间尝试之后,我已经实现了如何使它成为白色并且文本颜色通过这个变黑.我已经为下拉样式创建了自定义布局
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:background="@color/background_material_light"
android:textColor="@color/abc_primary_text_material_light"
android:layout_height="48dp"
android:ellipsize="marquee"/>
Run Code Online (Sandbox Code Playgroud)
然后在我的oncreate上添加了这段代码
spinnerAdapter.setDropDownViewResource(R.layout.custom_simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)
我遇到的唯一问题是按下状态不起作用,它只是一个白色的平面.如果你在另一个弹出菜单上看到,当你点击一个项目时,背景颜色变得有点暗.此烦人的图标仍然离文本太远.
我正在使用PHP一次在多个Android设备上发送通知.所有注册ID都是唯一的,以下是我发送的CURL请求.
$url='https://android.googleapis.com/gcm/send';
$headers = array(
'Authorization: key=' . ANDROID_KEY,
'Content-Type: application/json'
);
$registration_ids = [];//with multiple registration ids
$notification = array(
'registration_ids' => $registration_ids,
'data' => array('notification_id' => $data['notification_id'],
'title' => $data['title'],
'message' => $data['message'])
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($notification));
$res = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)
多次调试后,我在同一台设备上找不到任何多次通知的原因(超过10次).
有没有办法检查GCM收到的请求的日志.任何领导将不胜感激.
我在我的应用程序中集成了应用程序内购买,它适用于购买和恢复项目.但是有一个问题,
当我使用test1@gmail.com购买该项目时,其成功购买该项目也恢复正常工作.
现在,我从我的设备上卸载了应用程序,还清除了iTunes和App Store中的凭据.并再次安装.
当我点击恢复按钮时,会显示两个Popup:一个是test1@gmail.com,另一个是退出或创建用户.
每当我从后台到前台时,每次都会显示登录弹出窗口.
注意:我还调用了finishTransaction方法.但它不适合我.
登录PopUp显示时,无法调用一种方法.
我怎么能解决这个问题?
Java Set接口的API 指出:
例如,某些实现禁止
null元素,而某些实现对其元素的类型有限制
我正在寻找一个基本的Set实现,它不需要排序(如ArrayList为List接口提供)并且不允许null.TreeSet,HashSet和LinkedHashSet都允许null元素.另外,TreeSet要求元素实现Comparable.
目前似乎没有这样的基本Set存在.有谁知道为什么?或者,如果确实存在,我可以找到它?
[编辑]:我不想允许nulls,因为稍后在代码中我的类将迭代集合中的所有元素并调用特定方法.(我实际上正在使用HashSet<MyRandomObject>).我宁愿快速失败而不是失败,或者由于null在集合中而意外地产生一些奇怪的行为.
我在我的数据库中的字段,用户保存的自由形式的电话号码.因此,数据具有各种不同的格式:
我想去掉所有的非数字字符,只是存储的数字,但我无法找到一个简单的方法来做到这一点.是否可以不为每个字符使用一个REPLACE?
我想在UIWebView视频播放器上添加一些自定义控件.我可以通过以下代码添加对它的任何控制:
首先我在下面添加通知,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addOverLayView:) name:UIWindowDidBecomeVisibleNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
然后收到它,
-(void)addOverLayView:(NSNotification*)aNotification{
UIWindow *window = (UIWindow *)aNotification.object;
if (window != self.view.window) {
[window addSubview:anyCustomview];
}
}
Run Code Online (Sandbox Code Playgroud)
但是这个视图将静态地放在UIWebView视频视图之上.但我希望实现像视频播放器的控件将隐藏然后我想隐藏我的自定义视图.
换句话说,我想OverLayView在UIWebView视频播放器视图中实现自定义.
我随机获得空指针异常,通常它工作,有时它崩溃,我搜索了很多,但没有得到任何帮助,因为它没有正确的线从我得到任何帮助,
我也在使用处理程序.
我的logcat错误如下,代码添加在它下面,
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineCount()' on a null object reference
at android.widget.TextView.onMeasure(TextView.java:6703)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
at android.view.View.measure(View.java:17547)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:436)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615)
at android.view.View.measure(View.java:17547)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379) …Run Code Online (Sandbox Code Playgroud)