googlesamples / io2015-codelabs Goto Github PK
View Code? Open in Web Editor NEWcodelabs for Google I/O 2015
Home Page: https://codelabs.developers.google.com/
License: Apache License 2.0
codelabs for Google I/O 2015
Home Page: https://codelabs.developers.google.com/
License: Apache License 2.0
Record a Page View End:
in the displayed sample code the super.onStop() call is dependent on recipe object. This can cause the activity lifecycle to be "broken" if a developer might make a mistake in his "recipe" object handling.
Should be moved outside the brackets.
addPaymentMethodTokenizationParameters -> setPaymentMethodTokenizationParameters
Also, stripe:version
is required. Otherwise you'll get error 404 (note for other developers: google for WalletConstants
to find out what the number means)
2015-05-29
appears to work as an example stripe:version. At the time of this writing, 2015-04-07
is latest.
from: http://search-codelabs.appspot.com/codelabs/android-deep-linking#4
Step 3. is "Try using the following recipe URLs and repeating the step above:" which does not have recipe URLs following it and looks like it's the result of some editing without proofreading (should it be "and repeat the step above"?). It's a little confusing and I am left not knowing which commands should be causing the disambiguation dialog to appear.
Step 4
_Add cardboard mode to the main menu scene_
Sometimes the Component > Cardboard menu is not present. Saving, closing Unity and reopening fixes it.
Step 5
_Handle VR pointing and clicking_
must check the "Vr Mode Only" checkbox (or the menu buttons flicker and are not selectable)
_Associate the click event with the script_
In the scene hierarchy, select the buttonCardboard object(under Canvas/Panel) ."
should refer to cardboardButton
Step 7
Need to add CardboardModeMgr script to Canvas so it starts in the right mode (and set the Main Camera on it). Otherwise it always starts in VR mode regardless of the PlayerPrefs.
The first time I tried to run my test case, I got a console error:
https://resplendent-fire-2369.firebaseapp.com/favicon.ico Failed to load resource: the server responded with a status of 404 (Not Found)
Also: it is disconcerting that the entered message typed into https://resplendent-fire-2369.firebaseapp.com/ vanishes when I press "POST" - but the value in the name field does not.
For the BarcodeDetector to work a permission needs to added to AndroidManifest.xml
Steps 2 and 3 both tell you to enable the compute and storage APIs.. I think we should do it only in step 3 after billing is enabled
When I click on the red "X" in the topmost data item in my dashboard, I'm asked
Remove resplendent-fire-2369?
With a big red "Remove" button. The only sane interpretation of this is that I am trying to delete the entire app - not this single data item. Not encouraging!
In Section 5 - Wrapping Up, "GeofenceErrorMessages" cannot be resolved.
} else {
// Get the status code for the error and log it using a user-friendly message.
String errorMessage = GeofenceErrorMessages.getErrorString(this,
status.getStatusCode());
}
There appear to be other errors as well:
Step 8 . // Add the fragment to the UI
getSupportFragmentManager().beginTransaction()
.replace(R.id.wallet_button_holder, mWalletFragment, WALLET_FRAGMENT_ID)
.commit();
Since The Example does not create or extend a fragment this code errors
mBackground = (GridLayout) findViewById(R.id.gridbackground);
should be
mBackground = (GridLayout) findViewById(R.id.grid_background);
The first statement in the null check in the following block is missing a semicolon.
public void requestFullWallet(View view) {
if (mMaskedWallet == null) {
Toast.makeText(this, "No masked wallet, can't confirm", Toast.LENGTH_SHORT).show()
return;
}
Wallet.Payments.loadFullWallet(mGoogleApiClient,
generateFullWalletRequest(mMaskedWallet.getGoogleTransactionId()),
FULL_WALLET_REQUEST_CODE);
}
The tutorial here - https://io2015codelabs.appspot.com/codelabs/android-performance-profile-gpu-rendering#4 - states:
As you interact with your application, vertical bars show up on your screen, appearing from left to right, showing frame performance over time.
However, I do not get an vertical bars on my screen. I can only see areas of GPU Overdraw. I am running Android 5.1.1 - CyanogenMode nightly - on Samsung Galaxy S4.
Please advise.
The snipped for the UI that will be unit test references the "Hello World" as a string-resource. It's not there (auto-generated the empty project using Android Studio 2.0) so the string has to be generated.
Hi,
I encountered a problem with the UIButton (start and Cardboard Mode) when I deployed the app into my Android phone. In normal mode, the button is working fine, but when I change it to Cardboard mode, the button doesnt seem to work anymore. I press the trigger button or touch the screen does not have any effect thus making me stuck in the main menu in Cardboard mode. Any idea why?
The button works perfectly fine in preview when I run the scene from Unity.
On slide 14 of "Voice interactions", there is a link to https://devsite.googleplex.com/voice-actions/custom-actions.
Link should probably point to the externally-accessible equivalent https://developers.google.com/voice-actions/custom-actions.
In the step 3, "From the menu, click Component > Cardboard > Update Stereo Cameras."
There is no CardBoard in the Component menu...
Exception trace:
05-29 10:44:22.168 21772-21772/com.yourmom.androidpay E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.yourmom.androidpay, PID: 21772
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=889, result=-1, data=Intent { (has extras) }} to activity {com.yourmom.androidpay/com.yourmom.androidpay.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.wallet.ProxyCard com.google.android.gms.wallet.FullWallet.getProxyCard()' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:3574)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3617)
at android.app.ActivityThread.access$1300(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1352)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.wallet.ProxyCard com.google.android.gms.wallet.FullWallet.getProxyCard()' on a null object reference
at com.yourmom.androidpay.MainActivity.onActivityResult(MainActivity.java:119)
at android.app.Activity.dispatchActivityResult(Activity.java:6192)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3570)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3617)
at android.app.ActivityThread.access$1300(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1352)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Setup steps defined in the documentation are quite varying across the codelabs: sometime you clone the whole repository, sometimes only a zip archive of the particular codelab, etc.
The steps to open these in Android Studio are varying too: create a new project from existing sources and select the folder, or root build.gradle or settings.gradle.
To make it more clear to new users trying the codelabs, I think it would be better to choose one simple consistent method (and boilerplate) and have the same for all the codelabs.
Some examples of different setup steps:
"Use your preferred email or the provided user credentials to sign up for a free Firebase account"
I got a page telling me I had set up firebase using my @google.com identity, but when I went to run
firebase init
I got:
Error: Command requires authentication, please run firebase login
In Unity 5.2.x, after importing the CardboardSDKforUnity, the Cardboard menu item is not getting created. It is also not working, when both 5.1.x and 5.2.x versions are installed on the system.
For now, quickly mention this in the codelab requirement. So that people won't try with latest Unity.
When launching the Voice Camera app with the Google App via voice, isVoiceInteraction() on line 41 in the TakePictureActivity always returns false. Not sure if this is an implementation error or just an issue with Android 6.0 preview 3.
The link given for "Learn about creating custom voice actions" under the Next Steps subsection of the last section of the Codelab leads to moma login screen (presumably because the information is internal) (https://login.corp.google.com/request?s=up.googleplex.com:443/uberproxy/cbjtxHAOY9rpID/&d=https://devsite.googleplex.com/voice-actions/custom-actions%3Fupxsrf%3DAFtq1EBfUE3Lag1zAUka:1436997979656&maxAge=1200&authLevel=2000000&keyIds=MIG,bYU)
I could not view the whole text on many of the steps. I had to hack the browser and add overflow style to the page.
Hello, for those using newer Android rolled out versions like API 23, I think that Android Studio environment has upgraded such that activity_main.xml in "Editing your Layout File" is now in file content_main.xml. For content_main.xml, it is now used to display user interface texts.
I am using Android Studio 2 and built a brand new empty activity. It already had the src/test/java directory and the dependencies where in the build.gradle file.
I guess it should replaced by BuyButtonText.BUY_WITH_GOOGLE
In the cloud-nodejs codelab, we ask people to configure things twice with the same values (
)Might be worthwhile to do this at the parent level:
Old:
var gcloud = require('gcloud');
var dataset = gcloud.datastore.dataset({
projectId: config.projectId,
keyFilename: config.keyFilename
});
var storage = gcloud.storage({
projectId: config.projectId,
keyFilename: config.keyFilename
});
New
var gcloud = require('gcloud')({
projectId: config.projectId,
keyFilename: config.keyFilename
});
var dataset = gcloud.datastore.dataset();
var storage = gcloud.storage();
When running tests:
Error:Gradle: Execution failed for task ':app:validateDebugSigning'.
Unable to recreate missing debug keystore.
The first time the student runs the node client the command is shown as below:
$ node client.js
In order to produce the result shown in the screenshot shown below:
{ books:
[ { id: 123,
title: 'A Tale of Two Cities',
author: 'Charles Dickens' } ] }
The command should be as follows:
$ node client.js list
On Step 13. Request the Full Wallet
, the sentence at the end of the page ends with a comma ,
which implies that there should be more text (or maybe it should be a period .
)
On 16. Add a Payment Processor (Optional)
this sentence uses the word "chare":
When you receive the FullWallet object, you can use the following code snippet to extract a token that you can use with the Stripe API to chare the customer:
There is no description of how to run the run/deploy the project. Would be nice to have a more detailed README that addresses this issue.
https://developers.google.com/android/reference/com/google/android/gms/wallet/fragment/BuyButtonText
Constant Summary
int BOOK_NOW "Book now"
int BUY_NOW "Buy now"
int BUY_WITH_GOOGLE "Buy with Google"
int DONATE_WITH_GOOGLE "Donate with Google"
Step 2 says "Click the Gradle sync button." but the Gradle sync button is disabled until the gradle-wrapper.properties file under Gradle Scripts is selected.
Hi guys,
Really appreciate the effort for creating this tutorial. I wish you could add more thorough explanations on the how-and-why some decisions are made.
I think that it would be very useful if you add some comments on every code snippet one has to add to follow the tutorial.
for example to explain this added styling:
var bounds = link.getBoundingClientRect();
effectNode.style.left = bounds.left + bounds.width / 2 + 'px';
effectNode.style.top = bounds.top + bounds.height / 2 + 'px';
That would be great! Otherwise, I will also be happy to contribute...
Thanx!
the "firebase init" provided a set of prompts, for which I accepted the defaults. One of them was something about setting up a "public" directory (public).
Following along in at the next step, we're told to create an index.html - but apparently it needs to be in public/.
Send data to Firebase
Here is a HTML index.html page we will start with:
...
firebase deploy
=== Deploying to 'resplendent-fire-2369'...
i deploying hosting
i preparing public directory for upload...
⚠ Warning: Public directory does not contain index.html
Error: Must have at least one file in public directory to deploy.
Lab: Adding a Service Worker and Offline into your Web App
Step: 5. Build the starter app
"Kill the server and click reload in the browser. It should show you an error message."
This doesn't happen for me.
I kill the server and reload in the browser but it keeps working. No error message.
The horn keeps playing.
I tried deleting all the files and restarting chrome.
It still keeps working.
No error.
Might have something to do with problems killing the python server.
^C doesn't work right away.
Had to do it multiple times.
Something is continuing to run outside of the chrome process.
Isn't clear how to kill it.
From https://search-codelabs.appspot.com/codelabs/face-detection#3
faceDetector.setTrackingEnabled(false); - it doesn't work
Method is from FaceDetector.Builder, but not from FaceDetector
My variant:
FaceDetector faceDetector = new FaceDetector.Builder(getApplicationContext())
.setTrackingEnabled(false)
.build();
The page missing the documentation link:
https://io2015codelabs.appspot.com/codelabs/lovefield
Look for this at the bottom of Step 1:
"The StockAnalyzer skeleton code (instructions on downloading available at “Step 0”)."
There is no "Step 0" and there is no hint as to where to find the "StockAnalylzer skeleton code". When I search the GH repo (via the link to reporting bugs) I do see the zip file for this missing data file.
https://github.com/googlesamples/io2015-codelabs/blob/master/lovefield/stock_analyzer.zip
In the page
https://search-codelabs.appspot.com/codelabs/bar-codes#1
I cannot scroll with the mouse scroller. I can only use the scrollbar of chrome browser.
In the Trigger Achievements section for DroidController.cs, instructions did not mention using GooglePlayGames import and will cause a compilation error.
In the Unit Testing code lab, in the calculator example, the method subtract is spelt "substract". The typo continues on to the generated testing code.
Test issue for io15-codelabs repo.
Line 3 is duplicated (first LOC only) in the lab manual - it should only be entered once
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.