我从一个字节中抓取n位有点麻烦.
我有一个无符号整数.假设我们的十六进制数是0x2A,十进制是42.在二进制文件中,它看起来像这样:0010 1010.我如何获取前10位是00101,接下来的3位是010,并将它们分成单独的整数?
如果有人能帮助我那将是伟大的!我知道如何从一个字节中提取即可
int x = (number >> (8*n)) & 0xff // n being the # byte
Run Code Online (Sandbox Code Playgroud)
我在另一篇关于堆栈溢出的文章中看到过,但我不确定如何从字节中获取单独的位.如果有人能帮助我,那就太好了!谢谢!
我遇到了一个问题,我发生了多个异步请求,从Facebook API和我的Firebase数据库中获取图像和信息.我想执行所有异步请求,然后将我从Facebook API/Firebase数据库中获取的所有数据存储到一个可以快速加载的整个对象中.我已经为每个异步请求设置了完成处理程序,我认为这会强制程序"等待"直到请求完成,然后让程序继续,但这对我来说似乎不起作用.以下是我的尝试:
func setupEvents(completion: (result: Bool, Event: Event) -> Void){
// Get a reference to Events
eventsReference = Firebase(url:"<DB Name>")
eventAttendeesRef = Firebase(url:"<DB Name>")
//Read the data at our posts reference
println("Event References: \(eventsReference)")
eventsReference.observeEventType(FEventType.ChildAdded, withBlock: { (snapshot) -> Void in
let eventName = snapshot.value["eventName"] as? String
let eventLocation = snapshot.value["eventLocation"] as? String
let eventCreator = snapshot.value["eventCreator"] as? String
var attendees: NSMutableDictionary = [:]
var attendeesImages = [UIImage]()
let attendee: NSMutableDictionary = [:]
let group = dispatch_group_create()
//Get attendees …
Run Code Online (Sandbox Code Playgroud) 我已按照此链接成功部署了phpMyAdmin
服务器.我在尝试写入我在phpMyAdmin中创建的数据库时遇到问题.我正在尝试根据Google发布的新功能创建通知服务.Google Cloud
Firebase Cloud Messaging
NotificationInstanceService.java
public class NotificationInstanceService extends FirebaseInstanceIdService {
private static final String TAG = "NotificationInstance";
@Override
public void onTokenRefresh() {
//Getting registration token
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
//Displaying token on logcat
Log.d(TAG, "Refreshed token: " + refreshedToken);
sendRegistrationToServer(refreshedToken);
}
private void sendRegistrationToServer(String token) {
//You can implement this method to store the token on your server
//Not required for current project
OkHttpClient client = new OkHttpClient();
//Create the request …
Run Code Online (Sandbox Code Playgroud) 我想使用setenv设置一个环境变量:
setenv NODE_ENV localhost
Run Code Online (Sandbox Code Playgroud)
但setenv给我一个错误,说找不到命令.有谁知道如何执行相当于setenv的MAC OSX?谢谢!
我遇到了这个问题,我Bitmap
从我在通知中使用的URL 生成了一个.然而,在我的手机上,Bitmap
显示像一个小的白色方块.我调查了一下,发现很多帖子就像这样谈论它:图标没有显示在通知中:显示的是白色方块
我知道我Small Icon
的通知确实是透明的.但是,对于Large Icon
,我意识到它Large Icon
不能透明,因为它实际上是Bitmap
我从URL生成的.我怎样才能解决这个问题并确保图像正确呈现而不是将其Large Icon
显示为白色方块?这是我的尝试:
NotificationService.java:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context)
.setContentTitle(getString(R.string.app_name))
.setContentText(remoteMessage.getNotification().getBody())
.setTicker(remoteMessage.getFrom() + " has responded!")
.setLargeIcon(AndroidUtils.getBitmapFromURL(remoteMessage.getNotification().getIcon()))
.setAutoCancel(true)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setStyle(new NotificationCompat.BigTextStyle().bigText(remoteMessage.getNotification().getBody()))
.setSmallIcon(R.drawable.ic_tabs_notification_transparent);
Run Code Online (Sandbox Code Playgroud)
AndroidUtils.java:
public static Bitmap getBitmapFromURL(String userId) {
try {
URL imgUrl = new URL("https://graph.facebook.com/" + userId + "/picture?type=large");
InputStream in = (InputStream) imgUrl.getContent();
Bitmap bitmap = BitmapFactory.decodeStream(in);
Bitmap output;
Rect srcRect;
if (bitmap.getWidth() > bitmap.getHeight()) {
output = Bitmap.createBitmap(bitmap.getHeight(), …
Run Code Online (Sandbox Code Playgroud) 我最近一直在查看以下链接以添加到我的应用程序中.它是Google Place Picker API.我还知道如何将地点添加到Place Picker API用于查询的地方列表中,以便我的自定义地点可以显示在Place Picker API中.但是,我想要它,以便Place Picker API仅查询仅由我的应用程序创建的地点,而不仅仅查询Google Places API提供的任何其他地方.我发现在密钥下方的这个示例查询scope
可以帮助我查找创建的地点是通过我的应用还是通过Google创建的.我想要它,以便Place Picker API仅查询由我的应用创建的地方.有没有办法做到这一点?非常感谢.谢谢!
知道我的Firebase API调用何时完成,我遇到了一些麻烦.看完后Firebase documentation
我发现了以下内容:
值事件始终最后触发,并保证包含在拍摄快照之前发生的任何其他事件的更新.
我理解这意味着只有在onChildAdded
完成所有调用之后,ValueEventListener
才会调用它.结果,我认为我可以填充我RecyclerView
的onChildAdded
函数然后onSingleValueListener
调用,我可以简单地完成动画我的加载屏幕(在此函数调用之前已开始动画)并继续.但是,我遇到了一个问题,我在其中System.out.println
发表了一些细致的陈述,发现在我的情况下,Test 1
之前Test 2
被调用过.这会导致问题,因为这实际上是我想要的相反行为:我希望onChildAdded
函数完成,然后调用onSingleValueListener
打印出来的函数Test 1
进行调用.有什么理由发生这种情况吗?有什么方法吗?我很感激为什么会发生这种情况的解释.谢谢!
public void getComments(final String postId, final Activity activity, final View fragmentView, final View progressOverlay) {
final Firebase commentsRef = firebaseRef.child("/comments");
Firebase linkRef = firebaseRef.child("/posts/" + postId);
linkRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("Test 1");
if (progressOverlay.getVisibility() == View.VISIBLE) {
progressOverlay.setVisibility(View.GONE);
AndroidUtils.animateView(progressOverlay, View.GONE, 0, 200);
fragmentView.findViewById(R.id.rv_view_comments).setVisibility(View.VISIBLE); …
Run Code Online (Sandbox Code Playgroud) 我想做一个简单的重定向.当我做
sudo curl <insert link here> > a.txt
Run Code Online (Sandbox Code Playgroud)
我想把curl输出的所有数据都放到a.txt中.但是,我一直在说错误
a.txt: Permission denied
Run Code Online (Sandbox Code Playgroud)
有人会知道怎么解决这个问题吗?我试过在网上看
sudo bash -c curl <insert link here> > a.txt
Run Code Online (Sandbox Code Playgroud)
并显示相同的错误.任何帮助,将不胜感激!谢谢!
我的应用程序上一直出现错误,I/Choreographer: Skipped 252 frames! The application may be doing too much work on its main thread.
我认为这会导致我的UI出现一些我不想要的延迟.我认为这是因为当我执行Firebase查询时,当我这样做时onDataChange()
,它似乎总是在主UI线程中执行.我有大约5个类似于以下内容的Firebase查询.其结果是,我试图从移动我的代码onDataChange()
的方法来将AsyncTask
和更新UI线程onPostExecute()
的方法AsyncTask
.但是,当我尝试这个时,该onPostExecute()
方法永远不会完成.这是我的尝试:
public void getPublicPosts(final View progressOverlay, final View fragmentView, final Context context) {
//Need to do order by / equal to.
Firebase postsRef = firebaseRef.child("Posts");
Query query = postsRef.orderByChild("privacy").equalTo("Public");
query.keepSynced(true);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (final DataSnapshot postSnapShot : dataSnapshot.getChildren()) {
AsyncTask task = new AsyncTask<URL, …
Run Code Online (Sandbox Code Playgroud) 我最近在玩 GZIP 压缩以及我理解以下内容的方式:
我知道这是一种常见的做法,当您需要加载需要大量 HTML、CSS 和 JavaScript 的页面时,这很有意义,这些页面可能相对较大,并且会增加浏览器的加载时间。
但是,我试图进一步研究这一点,为什么在进行 POST 调用时 GZIP 压缩请求正文并不常见?是不是因为通常请求主体很小,所以在 Web 服务器上解压缩文件所需的时间比简单地发送请求所需的时间长?是否有关于此的某种文件或参考资料?
谢谢!